2010-07-20 303 views
3

是否有可能,如果有的話我怎樣纔能有效地同步本地數據庫與全局的數據庫,使得當本地版本採取行動時,它也是在全球數據庫。簡單地使用版本控制來顛覆全局是不可接受的,因爲根據對數據庫進行更改的人數,可能會有數據庫的多個本地副本。換句話說,有可能僅僅擁有數據庫的鏡像,因此即使它位於網絡上的其他位置,也可以在本地訪問它。同步本地SQLite數據庫與服務器SQLite數據庫

回答

4

同步數據庫,如果一個非常複雜的話題。最簡單的方法是在應用程序級別(或通過自定義sqlite包裝器)保存所有查詢的記錄,然後在同步時再次運行這些記錄。

當您有多個來源或雙向同步時,這會變得有問題。由於操作順序不同,在一個數據庫上運行正常的查詢可能會失敗(假定啓用了參照完整性)。

另一個更復雜但穩健的方法是跟蹤每個表的完整事務歷史記錄。您還需要知道每筆交易中哪些記錄受到影響,以及每筆交易中的訂單。完成後,您可能需要一種方法來檢測何時會發生問題並自動解決問題。

相關問題