导入(合并)-export java db数据库的最佳方法

时间:2008-11-11 11:39:38

标签: java database import export

我已经说过两台pc.PC-a和PC-b都有相同的应用程序安装了java db支持。我想不时地将数据从PC-a复制到数据库到PC -b反之亦然,因此两台PC始终具有相同的数据。 数据库层中是否已经实现了API(即从PC-a 2.import-merge数据库到PC-b的1.export-backup数据库),或者我必须在sql层(手动)执行此操作?< / p>

4 个答案:

答案 0 :(得分:2)

正如你在评论中提到的那样,你想要“合并”数据库,这听起来像你需要编写自定义代码才能做到这一点,因为可能会出现混淆 - 两者都是相同的密钥,但具有不同的细节例如,它。

答案 1 :(得分:1)

我猜您正在使用Java DB (aka Derby) - 在这种情况下,假设您无法使用单个实例,则可以执行backup/restore

答案 2 :(得分:1)

为什么不在一台电脑上安装数据库。并拥有来自主机pc的所有其他pc的请求数据

答案 3 :(得分:1)

简而言之:如果没有一些工作,你就无法做到这一点。 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是唯一的,可以在两个数据库中自由存在。

NO 方法可自动执行此操作,不会出现错误或数据损坏或参照完整性问题。