2010-05-22 122 views
0

我做了一個應用程序,它有兩個接口。第一個是桌面,另一個是Web應用程序。兩者都有自己的數據庫(結構相同)。如何將MYSQL數據庫同步到遠程服務器和從遠程桌面服務器

我想同步數據庫從桌面到遠程服務器,也從遠程服務器到桌面,但我不知道它是如何做的。

我使用MYSQL數據庫。並且我的桌面應用程序在.NET中。

注意:有多個桌面系統更新其數據庫並同步數據庫。

回答

1

它取決於在哪裏創建和修改數據。

  • 如果桌面應用程序只顯示來自中央服務器的數據,需要定期更新,使用replication

  • 如果您需要一切同步,請使用clustering。在這種情況下,所有客戶端應該在線,這可能不適合你,在這種情況下,你需要...

  • 推出自己的自定義解決方案(即添加某種標記/標誌數據庫表,像last_updated等,並使用它們來回發送更改)。要準備應對更新解決衝突和所有其他種類的附帶一個分佈式環境

0

我只是實現了一個桌面應用程序和Web服務器之間的相似同步過程中的問題。

我在桌面應用程序上創建記錄時使用唯一的臨時主鍵。因此,當我上傳數據時,服務器查找主鍵,如果它不存在,它會創建一條新記錄,將臨時主鍵更改爲真正的主鍵。服務器然後返回每個記錄的真實主鍵。

我使用XML上傳桌面上的所有新記錄,並在同一個HTTP事務中從服務器下載所有記錄。

在單個事務中執行整個同步過程非常重要,以防萬一它失敗,您可以回滾。

此外,我們的用戶必須輸入用戶名和密碼才能同步,因此這些參數也會在POST中發送。

確保在將客戶端插入數據庫之前過濾和驗證從客戶端接收的所有數據。

相關問題