2008-11-11 125 views
2

的最佳方式我有兩個pc's.PC-a和PC-b,它們都具有與java數據庫支持一起安裝的相同應用程序。我希望不時複製從PC-a上的數據庫到數據庫上的數據到PC-b,反之亦然,這樣兩臺PC就可以始終保持相同的數據。 數據庫層中是否存在已經實現的API(即從PC-a 2.import-merge數據庫到PC-b的1.export-backup數據庫),或者我必須在sql層(手動)執行此操作?導入(合併) - 導出java數據庫數據庫

回答

1

總之:沒有一些工作就無法做到這一點。 SalesLogix的固定給予的一切現場碼這個問題,所以這裏是你的表是什麼樣子:

Customer: 
    SiteCode varchar, 
    CustomerID varchar, 
    .... 
    primary key(siteCode, CustomerID) 

所以,現在你會採取你的數據庫,並通過主鍵每個記錄相匹配。如果發生衝突,您必須向最終用戶提供報告,瞭解哪些數據不同。

說MACHINE1:

SiteCode|CustomerID|CustName  |phone   |email 
1 XXX  |0001  |Customer1 |555.555.1212 |[email protected] 

,並在machine2:

SiteCode|CustomerID|CustName  |phone   |email 
2 XXY  |0001  |customer2 |555.555.1213 |[email protected] 
3 XXX  |0001  |customer1 |555.555.1212 |[email protected] 

在執行決議:

  • 記錄1和3是衝突的,因爲PK比賽,但數據不(電子郵件是不同的)。
  • 記錄2是唯一的,可以在兩個數據庫中自由存在。

NO方式沒有錯誤或數據損壞或參照完整性問題自動執行此操作。

+0

我很想知道這是如何值得下調的... – 2010-07-02 23:11:38

1

我猜你正在使用Java DB (aka Derby) - 在這種情況下,假設你只是不能使用一個實例,你可以做一個backup/restore

+0

謝謝你的回答。恢復默認數據庫的結果刪除。我想合併兩個dtatabases – 2008-11-11 12:38:48

1

爲什麼你沒有在一臺電腦上的數據庫。並有所有其他個人電腦的請求數據從主機電腦

+0

我在一家法國公司工作,該公司負責發佈我部門開發的java程序,我需要合併來自不同的數據庫位置。 – 2008-11-11 18:17:03

2

正如你在評論中提到你想要「合併」數據庫,這聽起來像你需要編寫自定義代碼來做到這一點,因爲大概可能會出現混淆 - 兩者都是相同的關鍵,​​但是對此有不同的細節。