2

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

4

4 回答 4

2

正如您在评论中提到要“合并”数据库一样,这听起来您需要编写自定义代码来执行此操作,因为可能存在冲突 - 两者中的相同键,但针对它的详细信息不同,例子。

于 2008-11-17T12:51:49.530 回答
1

我猜你正在使用Java DB(又名 Derby) ——在这种情况下,假设你不能使用单个实例,你可以做一个backup/restore

于 2008-11-11T12:02:44.693 回答
1

你为什么不在一台电脑上拥有数据库。并从主机 pc 获取所有其他 pc 的请求数据

于 2008-11-11T16:39:16.290 回答
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

在机器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 是唯一的,可以自由地存在于两个数据库中。

没有任何方法可以在没有错误或数据损坏或引用完整性问题的情况下自动执行此操作。

于 2009-08-05T19:50:19.333 回答