0

我在不同的服务器上有两个具有相同结构的数据库,并且必须双向同步它们。在数据库 1 中需要发送销售信息,在数据库 2 中需要从条目中发送信息。我需要与 nhibernate 进行同步,因为该系统可以与任何数据库一起使用:postgreSQL、mysql、oracle、sqlserver 等。

制作此应用程序的最佳策略是什么?

4

1 回答 1

0

似乎你需要弄清楚几件事:

  1. 为您需要同步的两个数据库启动会话工厂
  2. 识别需要同步的对象
  3. 使用合并命令同步它们

ISession.Merge()

  • 如果存在与当前会话关联的具有相同标识符的持久实例,则将给定对象的状态复制到持久实例上
  • 如果当前没有与会话关联的持久化实例,尝试从数据库中加载它,或者创建一个新的持久化实例
  • 返回持久实例
  • 给定的实例没有与会话关联,它保持分离

当我们在数据库之间归档数据时,我们实际上会做类似的事情。对您来说最棘手的部分可能是确定需要同步的内容。

于 2013-10-03T00:15:37.503 回答