0

Android プロジェクトにデータベースを追加したかったのですが、電話にある他のデータベースは正常に動作しているようです。私が試したとき、ユーティリティは自分のデータベースを表示しようとしましたが、データベース イメージの形式が正しくなく、クエリを実行してテーブルとビューを一覧表示できないことが報告されました。

db を手動でコピーしようとしましたが、アセットからデータ フォルダーにコピーしたときに何か問題が発生するかどうかを確認しましたが、結果は同じでした。また、dbをWindowsにコピーして戻しましたが、すべて正常に機能しました。

だから私の質問は次のとおりです:そのような非互換性の理由は何ですか?どうすれば修正できますか?

4

1 に答える 1

0

私が使用しているデータベースファイルは、データベースの開発中に使用され、かなりの変更履歴がありました。私のファイルのバージョンまたは完全に他の何かが私の問題の理由だったと思います。

私が修正した方法は、まったく同じスキーマで空のデータベースを作成し、問題のあるデータベースファイルのすべての内容をそこにコピーすることでした。SQLite コマンド ライン シェルを使用して実現しました。

ATTACH DATABASE "D:\dbtest\new.db" AS newdb;
ATTACH DATABASE "D:\dbtest\old.db" AS olddb;
INSERT INTO newdb.android_metadata SELECT * FROM olddb.android_metadata;
INSERT INTO newdb.table1 SELECT * FROM olddb.table1;
... (repeat for each table) 
于 2013-01-16T11:00:32.903 に答える