簡體   English   中英

導入(合並)-導出Java db數據庫的最佳方法

[英]The best way to import(merge)-export java db database

我假設兩台PC.PC-a和PC-b都安裝了具有Java db支持的相同應用程序,我想不時地將數據從PC-a上的數據庫復制到數據庫再復制到PC-b和反之亦然,因此兩台PC始終具有相同的數據。 是否在數據庫層中已經為此實現了API(即1.將備份數據從PC-a導出2.將合並數據庫導入PC-b)還是我必須在sql層(手動)執行此操作?

正如您在注釋中提到要“合並”數據庫一樣,這聽起來像您需要編寫自定義代碼來執行此操作,因為可能存在沖突-兩者中有相同的鍵,但針對它有不同的詳細信息,對於例。

簡而言之:如果沒有身邊的工作,您將無法做到這一點。 SalesLogix通過為所有內容提供站點代碼來解決此問題,因此表的外觀如下:

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

因此,現在您將使用數據庫,並通過主鍵匹配每個記錄。 如果存在沖突,您將必須向最終用戶提供有關哪些數據不同的報告。

說機器1:

   SiteCode|CustomerID|CustName     |phone         |email 
 1 XXX     |0001      |Customer1    |555.555.1212  |darth@example.com

在machine2上:

   SiteCode|CustomerID|CustName     |phone         |email 
 2 XXY     |0001      |customer2    |555.555.1213  |darth@nowhere.com 
 3 XXX     |0001      |customer1    |555.555.1212  |darth@nowhere.com

執行解析時:

  • 記錄1和3沖突,因為PK匹配,但數據不匹配(電子郵件不同)。
  • 記錄2是唯一的,並且可以在兩個數據庫中自由存在。

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

我猜您正在使用Java DB(又名Derby) -在這種情況下,假設您不能使用單個實例,則可以執行備份/還原

為什么不將數據庫放在一台PC上呢? 並從主機獲取其他所有PC的請求數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM