代码之家  ›  专栏  ›  技术社区  ›  Peter Tate

如何损坏SQL CE数据库?

  •  4
  • Peter Tate  · 技术社区  · 15 年前

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

    我的问题是我想测试事情是否按我期望的方式工作。有人知道有什么方法可以故意破坏数据库以便我测试我的代码吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    7 年前

    您可以将sdf文件加载到一个字节数组中,随机更改一些字节,然后将数组保存回原始文件中(或者为此,将文件加载到十六进制编辑器中,然后将所有莎士比亚的猴子都放在上面)。

    我认为这将做你想做的,而不做你想做的。根据我的经验,我在损坏的sqlce数据库中遇到的问题并不是由 SqlCeEngine.Repair (见 this answer 相关问题)。可能是那个 Repair 可以修复一个随机更改了部分字节的数据库,但我确信这取决于更改发生在文件中的位置(例如,在某个数据页或文件头中,如果有)。