使用MS Sync Framework同步两个SQL CE Dbs

时间:2009-02-24 09:41:54

标签: sql-server-ce microsoft-sync-framework

我刚刚进入Microsoft Sync Framework。使用SqlSyncAdapterBuilder和SqlServerChangeTracking将本地SQL CE 3.5数据库与远程SQL Server 2008同步很容易。

不幸的是,同步两个SQL CE 3.5数据库看起来并不那么容易...
文档很稀疏,我不知道如何开始这里。

我的具体情况如下:

  • 我有一个中央SQL Server 2008。
  • 多个客户端连接到此服务器(其中一些仅部分连接)。
  • 那些(部分连接的)客户端使用多个应用程序(可能同时运行)在同一个数据库上工作。

将客户端与中央服务器同步应该没问题。在脱机客户端上同步多个应用程序是我考虑使用多个SQL CE数据库(一个作为服务器,一个用于每个应用程序实例)。在将客户端与服务器同步时以及在客户端同步多个应用程序时,我确实能够使用相同的冲突解决机制。在每个客户端上安装SQL Server 2008 Express都是不行的。

有没有人有同步两个SQL CE数据库的经验?

2 个答案:

答案 0 :(得分:5)

Sync Framework 2.0允许SQL Server Compact Edition数据库之间的同步。

  

SqlCeSyncProvider用于   同步SQL Server Compact   数据库。

     

此提供程序可用于   与中央服务器同步但是   也具有同步的能力   与其他客户,不是   可以使用SqlCeClientSyncProvider。   这种能力使开发人员能够   针对新的方案,例如a   团队中的协作场景   人们之间需要同步   在没有的情况下彼此相对   连接到中央服务器。

答案 1 :(得分:1)

所有ado.net同步都需要客户端提供商和服务器提供商。

可悲的是,没有与当前版本的框架一起开箱即用的SqlCe 服务器 SyncProvider。这意味着您必须继承DBServerSyncProvider并包装SqlCe 客户端 SyncProvider。

有关如何使用sql express执行此操作的示例,请参阅this article

这是相同的概念,只是你将包装SqlCeClientProvider。好消息是包装可能更容易。

祝你好运!