如何通过WCF(n层)同步两个Sql Compact版本数据库

时间:2011-08-25 06:46:48

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

我有一种情况需要两个SQL Compact版本数据库在C#4 Winforms应用程序中使用Microsoft Sync Framework相互同步,但我很难找到一种方法来实现这一点。

我在2层类型的场景中使用它很容易,SqlCeSyncProvider直接连接到服务器数据库,但我不确定如何通过WCF实现这一点。

我从Microsoft看到的示例基本上是委托给WCF服务中的SqlSyncProvider,但是SqlCeSyncProvider似乎没有公开与ServerSyncProviderProxy相同的方法。

我可以在服务中使用SqlCeClientSyncProvider(在此问题中引用:Using MS Sync Framework to synchronize two SQL CE Dbs),但SqlCeClientSyncProvider不公开GetSchema或GetServerInfo方法。我不知道我是否可以放心地忽略这些方法。

人们是刚刚通过网络公开SQLCe数据库并使用SqlCeSyncProvider还是我遗漏了一些让它起作用的东西?

1 个答案:

答案 0 :(得分:3)

SqlCeClientSyncProvider / SyncAgent组合不支持SqlCe数据库之间的同步,除非你想编写自己的使用Sql Ce的DbServerSyncProvider。

使用SqlCeSyncProvider代替。

您可以在此处找到示例:Database Sync: SQL Server and SQL Compact N-Tier with WCF

只需修改它,以便两个端点都是Sql Ce