使用MS Sync Framework同步两个SQL CE数据库

7
我正在研究微软同步框架。使用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个回答

5

Sync Framework 2.0可以实现SQL Server Compact Edition数据库之间的同步。

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

此提供程序可用于与中央服务器同步,但还具有与其他客户端同步的能力,而这在SqlCeClientSyncProvider中是不可能的。此功能使开发人员能够针对新场景进行定位,例如协作场景,在此场景中,需要团队之间在没有连接到中央服务器的情况下进行同步。


1

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

可悲的是,当前版本的框架中没有SqlCeServerSyncProvider。这意味着您必须对DBServerSyncProvider进行子类化并包装SqlCeClientSyncProvider。

请参见this article,了解如何使用sql express进行操作的示例。

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

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接