2010-07-20 305 views
3

是否有可能,如果有的话我怎样才能有效地同步本地数据库与全局的数据库,使得当本地版本采取行动时,它也是在全球数据库。简单地使用版本控制来颠覆全局是不可接受的,因为根据对数据库进行更改的人数,可能会有数据库的多个本地副本。换句话说,有可能仅仅拥有数据库的镜像,因此即使它位于网络上的其他位置,也可以在本地访问它。同步本地SQLite数据库与服务器SQLite数据库

回答

4

同步数据库,如果一个非常复杂的话题。最简单的方法是在应用程序级别(或通过自定义sqlite包装器)保存所有查询的记录,然后在同步时再次运行这些记录。

当您有多个来源或双向同步时,这会变得有问题。由于操作顺序不同,在一个数据库上运行正常的查询可能会失败(假定启用了参照完整性)。

另一个更复杂但稳健的方法是跟踪每个表的完整事务历史记录。您还需要知道每笔交易中哪些记录受到影响,以及每笔交易中的订单。完成后,您可能需要一种方法来检测何时会发生问题并自动解决问题。

相关问题