« PS3を買いました ... | トップページへ | きき湯 ... »

2007年1月16日

BerkeleyDBをSQLiteに変換

このブログは、レンタルサーバ「ロリポップ」を使用して"MovableType(MT)"をインストールして作成していますが、バージョンを3.17から3.33に上げたところ、記事の投稿やサイトの再構築時に「500エラー:CGI もしくは SSI が正しく動作していません。」と表示されるようになり、ブログの更新ができない状況になっていました・・・(泣)

今までのMovableTypeのデータベースはデフォルトのBerkeleyDBでして、いろいろ調べた結果、MovableTypeのバージョンアップにより相性がよくないことがわかりました。(データベースとレンタルサーバの相性もあるようです)

そこでお世話になったのが、Ogawa::Memorandaさんの「mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト」の記事。

既存のBerkeleyDBをMySQL、PostgreSQL、SQLiteに変換してくれるCGIスクリプトです。


しかし、変換スクリプトを実行して「BerkeleyDB」から「SQLite」に変換すると・・・


MT::TBPing
.......... .......... .......... .......... .......... .......... .......... .......... .......... ..........
.......... .......... .......... .......... .......... .......... .......... .......... .......... ..........
.......... ......
An error occurred while loading data:

SQL繧ィ繝ゥ繝シ縺檎匱逕溘@縺セ縺励◆: mt_tbping.tbping_blog_id may not be NULL(1) at dbdimp.c line 401


とエラーになり、悩んだ挙句、


/cgi/mt/dbの

tbping.db


を手動で削除したところ問題解決?(tbping.dbはトラックバックのDBのようで今までのトラックバックが全てなくなりましたw)となりスクリプトが実行され、晴れてブログの更新ができるようになりました!


Ogawa::Memorandaさん、ありがとうございました。

ありがとうございます! ⇒  | トップページへ戻る

| トラックバック

このエントリーのトラックバックURL:
http://kojikoji.main.jp/cgi/mt/mt-tb.cgi/334