将SQL Server数据库中的更改与其远程客户端数据库同步

时间:2011-10-17 20:20:42

标签: web-services sql-server-2005 database-replication

哪种方法是将SQL Server数据库与其远程客户端数据库同步的最佳方法? Web服务/ SQL Server中可用的任何其他内置功能?

应用程序详细信息: - 使用SQL Server 2005的Wpf桌面。

该场景是客户的主办公室,拥有库存管理数据库。在客户端的远程出口中实现相同的数据库结构。新的股票正在增加主办公室数据库。每当向总部数据库添加新行时,需要通知所有远程客户端SQL Server数据库。并且每当远程客户端插座发生更改时,都需要将更改发送回主办公室数据库。

提前致谢。

1 个答案:

答案 0 :(得分:3)

经过大量研究后,我得到了以下结论 1. Sql Server Replication
2. SymmetricDS
3. Microsoft Sync Framework
4.定制的WCF服务。(An Example)

我选择了自定义WCF服务来同步数据库。这里提到了采取的步骤。

1.创建索引表。此表包含客户的交易历史和签名
2.创建一个服务层(类库),它接收并返回表行作为无状态DTO对象。此服务层引用数据访问层,负责与数据库通信 这个服务层&数据访问层由WCF服务和Windows服务引用
3.创建一个WCF服务并将其托管在Web服务器的IIS中,该服务提供:
一个)。下载(DTOClass dto)
B)。上传(DTOClass dto)服务合同
4.创建一个Windows服务并将其部署在多个客户端位置。此服务使用Web服务器IIS中托管的WCF服务
如果主服务器数据库中可用的新更新(此信息在IndexTables中可用),Windows服务下载更新(使用下载(DTOClass dto)合同)并更新本地数据库,则客户端位置的Windows服务将以特定间隔与WCF服务进行通信。

同样,如果在本地数据库中发生任何更改,则Windows服务将更改切换到WCF服务(使用上载(DTOClass dto)合同)。 WCF服务然后更新主数据库
由于两个服务都在本地访问数据库服务器,因此可以提高性能。