尝试从sdf数据库中的表中删除行时出现SqlCeException(腐败?)

时间:2015-11-11 15:39:47

标签: c# sql-server-ce sql-server-ce-3.5

我尝试从SQL Server CE 3.5数据库中的表中删除多个行,然后得到SqlCeException

  

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

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

我使用SqlCeEngine.Verify()并返回true。根据{{​​3}}

  

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

我也使用SqlCeEngine.Repair(null, RepairOption.RecoverCorruptedRows); 然后再次尝试删除行,执行命令时不会出现任何错误,并删除行。

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

0 个答案:

没有答案