0

我想使用 MS Sync Framework v2.1 从 SQL Server 2008 同步到 SQL Server 2008 Express 客户端。当客户端关闭时,服务器可能有多达几十万个新行。由于可能的行数很多,我想实现批处理和批量导入。

有谁知道如何处理这种将未知(几行到大量行)从服务器同步到客户端的情况?

使这更难的一个要求是服务器不能在其上运行存储过程,所以我认为禁止使用,SyncOrchestrator/SqlSyncProvider除非客户端可以使用SqlSyncProvider并且服务器使用另一个不需要存储过程的提供程序?

我尝试了这种方法,SyncOrchestrator/SqlSyncProvider用于本地提供程序,并且DbServerProvider用于RemoteProvider但收到了InvalidCastException. 这可能吗?

考虑到在服务器上不使用存储过程的限制,是否有更好的选择?

4

1 回答 1

1

DBServerProvider 是一个较旧的提供程序,其工作方式不同。您将它与 SyncAgent/SqlCeClientSyncProvider/DbServerSyncProvider 组合一起使用。这些提供者是“基于锚的”。

SyncOrchestrator/SqlSyncProvider/SqlCeSyncProvider 组合是较新的组合,并且是“基于知识的”。

较旧的 DbServerProvider OOTB 仅支持客户端数据库的 SQL Compact。曾经有一个 SQLExpressClientSyncProvider,但 MS 已经从下载站点中取出了它。

有一些方法可以通过自己在代码中构建 SQLCommands 来避免不使用 SqlSyncProvider 的存储过程。不过,您仍然需要触发器和跟踪表来跟踪更改。

于 2013-01-30T01:47:25.397 回答