症状
请考虑以下情况:
-
您的计算机上安装了 Microsoft SQL Server Compact 3.5。
-
在 SQL Server Compact 3.5 创建订阅服务器。
-
多行从下载合并发布到数据库时发布服务器与订阅服务器同步。 行包含大量文章和约束。
在这种情况下,SQL Server 错误日志中记录类似于以下内容的错误消息:
System.Data.SqlServerCe.SqlCeExceptionNative 错误 = 0,HRESULT =-2147217873,错误信息: 指定的值违反了列或表的完整性约束。
注意在 32 位系统和 64 位操作系统中发生此问题。
原因
因为使用交换无效 ID,将出现此问题。挂起状态下载很多行时,SQL 精简客户端代理调用重试方法使用交换无效 id。 因此,出现"症状"一节中提到的问题。
解决方案
SQL Server Compact 3.5 Service Pack 2 (SP2) 包含在累积更新包 5 的修复程序可以解决此问题。 有关如何获取累积更新包 5 为 SQL Server Compact 3.5 SP2 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2553608 SQL Server Compact 3.5 Service pack 2 的累积更新 5