2010-04-28 99 views
4

我希望能夠在啓動時檢查損壞的數據庫,然後以編程方式修復它。我可以很容易地do that如何破壞SQL CE數據庫?

我的問題是,我想測試的東西按我期望的方式工作。有誰知道有意破壞數據庫的方法,以便我可以測試我的代碼?

+0

將它作爲位流打開並更改一些隨機位... – 2010-05-23 03:19:27

回答

2

您可以將SDF文件加載到字節數組中,隨機更改一些字節並將數組保存在原始文件中(或者將文件加載到十六進制編輯器並將所有莎士比亞的猴子放在它上面)。

我認爲這將做你想做的事,而不做你想做的事。根據我的經驗,我用SqlCE數據庫損壞時遇到的問題未被SqlCeEngine.Repair修復(有關相關問題,請參閱this answer)。這可能是因爲Repair可以修復其中一些字節隨機更改的數據庫,但我相信這取決於文件中更改發生的位置(例如,在數據頁的某處或文件頭中,如果存在是一個)。