我如何破坏SQL CE数据库?

时间:2010-04-28 20:26:50

标签: sql-server-ce corruption

我希望能够在启动时检查损坏的数据库,然后以编程方式修复它。我可以轻松地do that

我的问题是我想测试一下我预期的方式。有没有人知道有意破坏数据库的方法,以便我可以测试我的代码?

1 个答案:

答案 0 :(得分:2)

您可以将SDF文件加载到字节数组中,随机更改一些字节并将数组保存回原始文件(或者就此而言,将文件加载到十六进制编辑器中并将所有莎士比亚的猴子放在其上)

我认为如果不做你想做的事,我会做你想做的事。根据我的经验,SqlCeEngine.Repair并未解决我在损坏的SqlCE数据库中遇到的问题(请参阅this answer相关问题)。可能Repair可以修复已经随机更改其某些字节的数据库,但我确定这将取决于文件中发生更改的位置(例如,在某个地方或文件中的数据页中)标题,如果有的话。)