C# 尝试从sdf数据库的表中删除行时发生SqlCeException(损坏?)

C# 尝试从sdf数据库的表中删除行时发生SqlCeException(损坏?),c#,sql-server-ce,sql-server-ce-3.5,C#,Sql Server Ce,Sql Server Ce 3.5,我试图从SQL Server CE 3.5数据库中的表中删除多行,但得到一个SqlCeException: 发生内部错误。[ID=3649] 我读过,这意味着数据库处于损坏状态,必须修复,尽管关于具体错误的信息很少 我使用SqlCeEngine.Verify()并返回true。据 如果校验和匹配并且没有数据库损坏,则返回True;否则,错误 我还使用了SqlCeEngine.Repair(null,repairpoption.RecoverCorruptedRows); 然后再次尝试删除行,命令

我试图从SQL Server CE 3.5数据库中的表中删除多行,但得到一个
SqlCeException

发生内部错误。[ID=3649]

我读过,这意味着数据库处于损坏状态,必须修复,尽管关于具体错误的信息很少

我使用
SqlCeEngine.Verify()
并返回
true
。据

如果校验和匹配并且没有数据库损坏,则返回True;否则,错误

我还使用了
SqlCeEngine.Repair(null,repairpoption.RecoverCorruptedRows)
; 然后再次尝试删除行,命令将在没有任何错误的情况下执行并删除行


我很困惑是不是数据库损坏了?我想是的(但是验证返回true)。如果它被破坏了,它是如何被破坏的?我为每个数据库访问创建一个新的连接,并且在线程(或任何其他SQL Server CE相关对象)之间不共享相同的
SqlCeConnection
对象。数据库部署在移动设备上

首先确保您正在设备上运行最新的SQL Compact engine版本:@ErikEJ I将设备更新为SP2,然后SqlCeEngine.Verify(VerifyOption.Enhanced)返回false。在阅读了您的博客文章后,我安装了Cumulative update 7并重新安装了sqlce cabs,但是ServerVersion返回
“3.5.8080.0”
是否正确?