Microsoft SQL Framework在sql CE和sql 2008之间进行了更改跟踪

时间:2010-03-31 12:56:54

标签: sql-server microsoft-sync-framework

Microsoft Sync Framework:

带有更改跟踪选项的Sql CE和sql 2008。

我遇到了一个问题,当我在sql CE中插入一条记录时,它需要上传到带有uploadonly方向的sql 2008上。服务器同步进程给clientInsertServerInsert冲突,服务器无法向该表添加新行。

任何人都有想法。

我注意到的另一件事是,如果我使用由VS.NET的设计时同步UI(您在客户端数据库中选择所需的表)创建的 sql sever ce数据库,则问题不会发生。但是,当我使用空白<​​strong> sql sever ce数据库分发我的应用程序时,会在客户端上为每个插入的行抛出错误。

当我们在客户端数据库(SqlCE)中进行任何更改时,如果插入了新行,则会上载更改并触发与ClientInsertServerInsert冲突的ApplyChangeFailed事件。例如,我有一个表书(名称,数量),我已配置此表方向UploadOnly当我在客户端上插入记录它成功进入服务器但发生冲突“ClientInsertServerInsert”,这意味着服务器也插入相同的值,这是不可能的。如果在所有变化中出现冲突,则会减慢过程,并可能导致问题。我用这行来继续.Action = ApplyAction.Continue;

1 个答案:

答案 0 :(得分:0)

这里需要更多信息。来自sql server的实际错误是什么?上传的记录是否足以填充服务器上的记录?例如服务器行是否需要不自动计算或从客户端上传的rowid?服务器上的数据或索引是否存在约束,以防止记录中出现重复数据或空值?