我想将数据库添加到我的android项目中,其他手机上的数据库似乎工作正常。当我尝试使用我的实用程序时,我尝试查看我的数据库,报告数据库图像格式错误,并且无法执行查询以列出表和视图。
我尝试手动复制数据库,看看当我将资产从资产复制到数据文件夹时是否出现错误,但结果是一样的。我还将db复制回windows,一切正常。
所以我的问题是:这种不相容的原因是什么以及我如何解决它?
答案 0 :(得分:0)
我一直在使用的数据库文件是在数据库开发过程中使用的,并且有很多变化的历史。我认为,无论是我的文件版本还是其他完整的东西都是我遇到问题的原因。
我修复它的方法是创建具有完全相同模式的空数据库,并将有问题的数据库文件的所有内容复制到那里。我使用SQLite命令行shell实现了它。
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)