2012-10-11 23 views
0

我试图实现从服务器到客户端的单向同步,两者都使用Sync Framework 2.1运行SQLExpress 2008。我在初始同步时遇到问题。初始同步时LocalInsertRemoteInsert冲突

两个作用域在服务器上定义:

Scope1包含表A,B,C和Scope2包含表B,C,d

初始同步之前,客户端数据库包含的表A,B ,C和D(使用脚本导入),每个表都是空的。已使用默认配置设置使用Scope1和Scope2的服务器范围信息设置数据库。

第一次同步Scope1时,一切都成功了。在同步Scope2时,共享表(B,C)的每个记录都将被下载并报告为冲突LocalInsertRemoteInsert

有没有办法避免这种行为?在Scope1完成同步后,不应该知道Sync Framework,表B和C现在是最新的吗?

回答

1

您有重叠的作用域,其中包含在另一个作用域中的数据是落入另一个作用域中的相同数据。

有关同步内容的信息存储在作用域级别上,第一个作用域上同步的内容对于第二个作用域不是已知的,反之亦然。

当您同步范围1时,它会下载数据并更新自己关于同步内容的同步知识。当您同步范围2时,它不知道范围1的内容已同步,因此它会再次下载它们。

我会把B和C放在范围1上,并在D上创建范围2,范围3,所以你只能同时B和C一次。

+0

我已经提出了一个问题http://stackoverflow.com/questions/13320744/localinsertremoteinsert-error-in-syncframework-2-1-when-changing-directions可以请你帮忙。我有类似的问题。我没有多个范围,即使上传不起作用 – Moons

相关问题