Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入(合并)的最佳方式—导出JavaDB数据库_Java_Database_Import_Export - Fatal编程技术网

导入(合并)的最佳方式—导出JavaDB数据库

导入(合并)的最佳方式—导出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层(手动)执行此操作?我猜您正在使用-在这种情况下,假设您无法使用单个实例,你可以这样做。为什么不把数据库放在一台电脑上,并从主机电脑上获取所有其他电脑的请求数据呢?正如你在评论中提到的,你想“

我有两台pc机。pc-a和pc-b都安装了相同的应用程序,支持java db。我希望不时将数据从pc-a上的数据库复制到pc-b上的数据库,反之亦然,以便两台pc机始终具有相同的数据。
在数据库层中是否已经为此实现了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程序,我需要合并来自不同位置的数据库。