导入(合并)的最佳方式—导出JavaDB数据库
我有两台pc机。pc-a和pc-b都安装了相同的应用程序,支持java db。我希望不时将数据从pc-a上的数据库复制到pc-b上的数据库,反之亦然,以便两台pc机始终具有相同的数据。导入(合并)的最佳方式—导出JavaDB数据库,java,database,import,export,Java,Database,Import,Export,我有两台pc机。pc-a和pc-b都安装了相同的应用程序,支持java db。我希望不时将数据从pc-a上的数据库复制到pc-b上的数据库,反之亦然,以便两台pc机始终具有相同的数据。 在数据库层中是否已经为此实现了API(即1.从PC-a导出备份数据库2.将数据库导入合并到PC-b),或者我必须在sql层(手动)执行此操作?我猜您正在使用-在这种情况下,假设您无法使用单个实例,你可以这样做。为什么不把数据库放在一台电脑上,并从主机电脑上获取所有其他电脑的请求数据呢?正如你在评论中提到的,你想“
在数据库层中是否已经为此实现了API(即1.从PC-a导出备份数据库2.将数据库导入合并到PC-b),或者我必须在sql层(手动)执行此操作?我猜您正在使用-在这种情况下,假设您无法使用单个实例,你可以这样做。为什么不把数据库放在一台电脑上,并从主机电脑上获取所有其他电脑的请求数据呢?正如你在评论中提到的,你想“合并”数据库,这听起来像是你需要编写自定义代码来实现这一点,因为可能会有conficts-两者中的键相同,但是有不同的细节,例如。简言之:没有你自己的努力,你无法做到这一点。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
在机器2上:
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是唯一的,可以在两个数据库中自由存在
如果没有错误、数据损坏或引用完整性问题,无法自动执行此操作。谢谢您的回答。还原结果删除默认数据库。我想合并两家dtatabasesI公司的工作,该公司分发我在其部门开发的java程序,我需要合并来自不同位置的数据库。