Sqlite修復方法(database disk image is malformed)

轉自:http://hi.baidu.com/9562512/blog/item/81932e3e432bc33770cf6cd4.html

 

遇到 sqlite3 數據庫錯誤 “database disk image is malformed”,G 了一下,搞定,遂記錄,幫人幫己。運行
PRAGMA integrity_check;
發現
*** in database main ***
On tree page 120611 cell 0: 3 of 4 pages missing from overflow list starting at 120617
On tree page 120616 cell 0: 3 of 4 pages missing from overflow list starting at 120621
On tree page 3309 cell 0: 3 of 4 pages missing from over

假設原數據庫名 abc.db
運行命令(需要sqlite3命令行工具,可從官方下載http://www.sqlite.org/download.html

 


sqlite3 abc.db
.output “_abctemp.tmp”
.dump
.quit

 

 

再建個新數據庫 abc2.db

sqlite3 abc2.db
.read “_abctemp.tmp”

.quit

刪除abc.db, mv abc2.db  abc.db

然後修復原來的數據庫名和文件權限,應該就沒事了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章