file is encrypted or is not a database

投稿者: Anonymous

DB Browser for SQLiteというツールを使ってデータベースファイルをエクスポートし、ターミナルでその中身を確認しようとしているのですが、「file is encrypted or is not a database」というエラーが返ってきます。調べたところsqlite3で作られたDBをsqlite2で開こうとするとこのエラーが出る事があるとのことで、とりあえず現在のsqliteのバージョンを確認してみたところ、バージョンは3.8.5でした。ということはsqlite2ではないですよね?なのに何故このエラーが出るのでしょうか?
どなたか分かる方に解決策を教えていただきたいです。すみませんが、よろしくお願いします。

解決

とりあえず、ここまでのやり取りを含めてまとめます。

file is encrypted or is not a database

これはSQLite2に限らず、データベースとして読み込めなかったというエラーです。SQLiteのバージョンが違う、データベースが暗号化されている、データが壊れている、‌​SQLiteデータベースではない、などが典型的な原因です。

今回の場合 SQL が書かれたテキストファイルを開こうとしていたようですが、これは SQLite のデータベースではありません。

書かれているSQL、あるいはどのようにして生成されたSQLなのかによるのでなんとも言えませんが、

  • (データだけでなく)テーブル定義などを含み
  • SQLiteと互換性があるSQLで書かれている

のであれば、SQLiteで新規データベースを作り、そこにインポートすることができると思います。DB Browser for SQLite であれば、インポート時にデータベースを作成してくれるようです。

データベースをSQL文形式でエクスポート/インポート – DB Browser for SQLiteの使い方

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *