2013-10-02 71 views
0

我有兩個數據庫在不同的服務器上具有相同的結構,並且必須雙向同步它們。在數據庫1中需要發送數據庫2中的銷售信息,需要從條目發送信息。我需要使用nhibernate進行同步,因爲系統可以用於任何數據庫:postgreSQL,mysql,oracle,sqlserver等。nHibernate同步兩個數據庫

什麼是製作此應用程序的最佳策略?

+0

您是否嘗試過某些東西?你到目前爲止的任何策略? SO不是你準備好解決方案的地方;) 即使你沒有不同的數據庫系統,同步2個數據庫也可能是一個非常糟糕的任務......我會盡力防止這種情況發生。 – MichaC

+0

即時尋找sugetions。 – Bruno

回答

0

好像你需要弄清楚兩件事情:

  1. 旋轉起來會話工廠爲你需要同步
  2. 確定需要進行同步
  3. 同步他們使用對象的兩個數據庫合併命令

ISession.Merge()

  • 如果存在與當前與會話相關 相同標識符的持久化實例,給定對象的狀態複製到 持久實例
  • 如果目前與 會話關聯的持久實例,嘗試從數據庫中加載,或創建新的持久 實例
  • 持久實例返回
  • 給定的情況下不成爲與會話相關聯,它 保持超脫

當我們在數據庫之間存檔數據時,我們實際上做了類似的事情。最棘手的部分可能是通過同步確定需要什麼。

+0

你使用一些設計模式來做到這一點嗎? – Bruno

+0

@布魯諾要做哪部分? –

+0

合併與複製之間的差異 – Bruno