SQLiteのデータファイルが破損しました(Movable Type 4で使用している「mt.db」ファイル)。

このデータベースを一部でも復旧したり読み取ったりすることはできないでしょうか。
ちなみにファイルサイズは1mbくらいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/11/19 22:56:32
  • 終了:2009/11/26 23:00:02

回答(2件)

id:azuco1975 No.1

azuco1975回答回数613ベストアンサー獲得回数162009/11/20 01:56:44

ポイント35pt

http://www.forest.impress.co.jp/article/2008/09/04/pupsqlite.htm...

このソフトで読み込めるかどうかからですね。

id:matsunaga

ありがとうございます。

試してみたら「有効なSQLite3データベースでないか、暗号化されています。複合化パスワードを入力しますか?」と表示されました。

どうやら「有効なデータベース」でなくなってしまっているようです。

2009/11/20 10:00:16
id:ardarim No.2

ardarim回答回数896ベストアンサー獲得回数1442009/11/20 03:08:26

ポイント35pt

SQLite3系の場合は、以下の方法で復旧できる可能性があります。

(1)SQLiteの配布元からコマンドラインツール(sqlite3.exe)をダウンロードする。11/19現在の最新はsqlite-3_6_20.zipです。

(2)zipファイルを解凍し、sqlite3.exeを取り出す。

(3)コマンドプロンプト上で、以下のコマンドを実行する

sqlite3 mt.db .dump | sqlite3 mt_new.db

mt.dbはカレントディレクトリにない場合はフルパスで指定してください。

(4)新しいデータベースが出力されたら、元の(破損している)mt.dbは念のためバックアップを取り、新しいファイルをmt.dbにリネームする。


上記のコマンドは、mt.dbファイルをダンプして、新しいデータベースmt_new.dbファイルを再構築するものです。

破損の度合いにもよりますが、データの一部または全部が取り出せる可能性があります。

id:matsunaga

ありがとうございます。後ほど試してみます。

……試してみました。残念ながら、mt_new.dbは0kb(つまり、空)で出力されました。今回の破損状況では無理なようです。

ただ、SQLiteのデータベース管理の方法を教えていただけたので、別の機会には役立つかも知れません。

お二人ともありがとうございます!

2009/11/22 13:15:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません