客户端数据库和中央数据库之间的同步

时间:2010-05-10 03:31:08

标签: c# .net sql-server-2005

我正在尝试在C#.NET中开发UI,以便将7个备份数据库实例与中央数据库逐个同步(All all holding schema)。备份数据库(所有7个实例客户端数据库)被带到中央在可移动设备中的服务器,例如pendrive将由来自每个客户端的mdf和ldf文件组成,并将附加到中央数据库所在的服务器。在连接所有客户端备份数据库之后,我需要将每个备份数据库逐个同步(更新现有数据或将新数据插入驻留在服务器中的中央数据库)到中央数据库。我想知道如何使用C#.NET将备份数据库与中央数据库同步。

1 个答案:

答案 0 :(得分:0)

假设您不会通过每个实例更改其他6个数据库中的数据,您可以保留某种记录更改日志,读取该数据,然后根据日志中存储的每个数据库的信息更新中央数据库。

如果您还需要更新每个已加载实例中的其他6个实例,则需要对整体更改进行聚合,然后将它们相互发送。

您还可以使用行版本控制来进行数据比较,并通过它将其加载到中央数据库中(但是您需要读取每个表的行才能找到它)。

如果您还需要更新中央数据库中的数据 - >你的客户可以使用类似的技术。

修改 要执行实际的更新,您需要在“源”数据库中打开一个DataReader来查找记录。 然后从这个对象创建一个二级阅读器 “从每个指定的表中选择**修改的**列”并阅读 然后,对目标数据库创建一个命令对象和ExecuteNonQuery。