質問: `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の使い方