2013-10-02 76 views
0

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

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

+0

您是否尝试过某些东西?你到目前为止的任何策略? SO不是你准备好解决方案的地方;) 即使你没有不同的数据库系统,同步2个数据库也可能是一个非常糟糕的任务......我会尽力防止这种情况发生。 – MichaC

+0

即时寻找sugetions。 – Bruno

回答

0

好像你需要弄清楚两件事情:

  1. 旋转起来会话工厂为你需要同步
  2. 确定需要进行同步
  3. 同步他们使用对象的两个数据库合并命令

ISession.Merge()

  • 如果存在与当前与会话相关 相同标识符的持久化实例,给定对象的状态复制到 持久实例
  • 如果目前与 会话关联的持久实例,尝试从数据库中加载,或创建新的持久 实例
  • 持久实例返回
  • 给定的情况下不成为与会话相关联,它 保持超脱

当我们在数据库之间存档数据时,我们实际上做了类似的事情。最棘手的部分可能是通过同步确定需要什么。

+0

你使用一些设计模式来做到这一点吗? – Bruno

+0

@布鲁诺要做哪部分? –

+0

合并与复制之间的差异 – Bruno