我需要将我的Android SQLite数据库与我的云服务器数据库同步,并在多用户环境中以双向方式进行。
我找到并介绍了解决方案here,但我想了解一个更好的解决方案/算法。
答案 0 :(得分:6)
您可以将Oracle数据库用作服务器端数据库吗?
如果是这样,您应该考虑Oracle Database Lite,它包含一个与SQLite和Android兼容的完整同步解决方案,专为多用户环境而设计。
它支持自动同步,高级冲突解决和多个同步模型。它还支持从中央管理控制台甚至设备管理部署和管理应用程序。
您可以在此处详细了解: http://www.oracle.com/technetwork/database/database-lite/overview/index.html
此外,您可以单击下载选项卡自行试用。
埃里克
答案 1 :(得分:1)
我建议将db文件发送到您的服务器并在服务器端进行合并。然后,如果需要,将合并的数据库发送回客户端。 您的解决方案将根据冲突解决算法和数据库架构而有所不同。但这是最简单案例的例子:
sqlite> attach 'client.db3' as ClientDBtoMerge;
sqlite> insert into TableName select * from ClientDBtoMerge.TableName;
sqlite> detach database ClientDBtoMerge;
希望您能够修改双向合并的示例。