7

我只是在研究 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 数据库的经验?

4

2 回答 2

5

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

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

此提供程序可用于与中央服务器同步,但也具有与其他客户端同步的能力,这是 SqlCeClientSyncProvider 无法实现的。这种能力使开发人员能够针对新的场景,例如协作场景,在这种场景中,团队需要在没有与中央服务器的连接的情况下相互同步。

于 2009-10-31T20:56:34.760 回答
1

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

遗憾的是,当前版本的框架没有开箱即用的SqlCe Server SyncProvider。这意味着您必须继承 DBServerSyncProvider 并包装一个 SqlCe客户端SyncProvider。

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

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

祝你好运!

于 2009-03-03T15:32:17.773 回答