2008-11-11 85 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

正如你在评论中提到你想要“合并”数据库,这听起来像你需要编写自定义代码来做到这一点,因为大概可能会出现混淆 - 两者都是相同的关键,​​但是对此有不同的细节。