我希望能够在启动时检查损坏的数据库,然后以编程方式修复它。我可以很容易地做到这一点。
我的问题是我想测试事情是否按我期望的方式工作。有谁知道故意破坏数据库以便我可以测试我的代码的方法?
我希望能够在启动时检查损坏的数据库,然后以编程方式修复它。我可以很容易地做到这一点。
我的问题是我想测试事情是否按我期望的方式工作。有谁知道故意破坏数据库以便我可以测试我的代码的方法?
您可以将 SDF 文件加载到字节数组中,随机更改一些字节并将数组保存回原始文件(或者就此而言,将文件加载到十六进制编辑器中,然后将所有莎士比亚的猴子都放在上面)。
我认为这会做你想做的事而不做你想做的事。根据我的经验,我在损坏的 SqlCE 数据库中遇到的问题并没有被修复SqlCeEngine.Repair(请参阅相关问题的答案)。可能Repair可以修复一个随机更改了某些字节的数据库,但我确信这将取决于文件中发生更改的位置(例如,在某处的数据页或文件头中,如果有一)。