我想将数据库添加到我的 android 项目中,手机上的其他数据库似乎工作正常。当我尝试使用我的实用程序时,我尝试查看我的数据库,报告说数据库映像格式错误并且它无法执行查询以列出表和视图。
我尝试手动复制db,看看当我将它从资产复制到数据文件夹时是否发生错误,但结果是一样的。我还将 db 复制回 Windows,一切正常。
所以我的问题是:这种不兼容的原因是什么,我该如何解决?
我一直在使用的数据库文件是在数据库开发过程中使用的,并且有相当多的更改历史。我认为我的文件版本或其他完全是我问题的原因。
我修复它的方法是创建具有完全相同架构的空数据库并将有问题的数据库文件的所有内容复制到那里。我使用 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)