【问题标题】:How do I corrupt a SQL CE Database?如何损坏 SQL CE 数据库?
【发布时间】:2011-02-13 13:01:51
【问题描述】:

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

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

【问题讨论】:

  • 将其作为比特流打开并更改一些随机比特...

标签: sql-server-ce corruption


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2014-02-17
    • 2012-08-27
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    相关资源
    最近更新 更多