андроид sqlite двунаправленная синхронизация sqlite - PullRequest
18 голосов
/ 24 октября 2010

Мне нужно синхронизировать мою базу данных Android SQLite с моей базой данных облачного сервера и выполнять ее в двух направлениях в многопользовательской среде.

Я нашел и ознакомление с решением здесь но я хотел бы прочитать о лучшем решении / алгоритме.

Ответы [ 2 ]

6 голосов
/ 02 февраля 2011

Можете ли вы использовать базу данных Oracle в качестве базы данных на стороне сервера?

Если это так, вы должны рассмотреть Oracle Database Lite, которая включает в себя решение для полной синхронизации, совместимое с SQLite и Android и разработанное для многопользовательских сред.

Он поддерживает автоматическую синхронизацию, расширенное разрешение конфликтов и несколько моделей синхронизации. Он также поддерживает развертывание приложений и управление ими из центральной консоли управления и даже управление устройствами.

Подробнее об этом можно прочитать здесь: http://www.oracle.com/technetwork/database/database-lite/overview/index.html

Кроме того, вы можете нажать на вкладку загрузки, чтобы попробовать сами.

Eric

1 голос
/ 27 октября 2010

Я бы рекомендовал отправить файл БД на ваш сервер и выполнить слияние на стороне сервера.Затем отправьте объединенную базу данных обратно клиенту, если это необходимо.Ваше решение будет зависеть от алгоритма разрешения конфликтов и схемы базы данных.Но вот пример для простейшего случая:

sqlite> attach 'client.db3' as ClientDBtoMerge;           
sqlite> insert into TableName select * from ClientDBtoMerge.TableName;
sqlite> detach database ClientDBtoMerge; 

Надеюсь, вы сможете изменить пример для двунаправленного слияния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...