1. 程式人生 > >sqlite 修復 database disk image is malformed 問題

sqlite 修復 database disk image is malformed 問題

這個問題是在解決客戶工程的時候遇到的。

在網上的解決方法大多一致,就是先在舊資料庫中匯出sql檔案再匯入一個新資料庫中。

暫時沒有找到在圖形介面下的匯入匯出選項,所以先用著命令行了。

SQLite官網這裡可以下載對應的命令列視窗工具,檔案比較小。

如果是Windows系統的話,第三個檔案就是了。

然後在cmd中執行其中的sqlite3.exe檔案:

直接執行肯定不行嘛,先定位到sqlite3.exe的目錄底下,用命令cd來實現。 



然後再用命令連線對應的資料庫sqlite3.exe XXX.db


直接連線的話就是按預設路徑來了,當然你也可以用絕對路徑來指定對應的資料庫,比如sqlte3.exe E:\test.db這樣。

如果對應的資料庫不存在則會自動建立。

接下來按套路走就行了。

[這一段程式碼網上直接copy過來了]

匯出:

sqlite>.output tmp.sql
sqlite>.dump
sqlite>.quit

匯入:

注意:預設新建的資料庫編碼格式為utf-8,如果你原資料庫編碼是utf-16或者其他什麼的話,請在.read操作前加上命令PRAGMA encoding = "UTF-XXX"調整到對應的編碼格式後再做其他操作。

sqlite3 mynew.db
sqlite>.read tmp.sql
sqlite>.quit
然後這個新的mynew.db資料庫中就存好我們之前資料庫中的東西了。
好,問題解決,可喜可賀可喜可賀。