我有一个预填充的数据库。首次启动应用程序时,它将文件从资产发送到数据库。系统可以在某些Android设备上完美运行。但是,在某些设备中,应用会附带数据库文件,然后在尝试获取查询时会失败并关闭该应用。
我的应用程序的平台版本为1.5,因此问题不在于平台。
03-11 01:11:34.111 I/Database( 4516): sqlite returned: error code =
11, msg = database corruption at line 46886 of [42537b6056]
03-11 01:11:34.111 I/Database( 4516): sqlite returned: error code =
11, msg = database disk image is malformed
03-11 01:11:34.111 D/AndroidRuntime( 4516): Shutting down VM
03-11 01:11:34.111 W/dalvikvm( 4516): threadid=1: thread exiting with
uncaught exception (group=0x40018560)
03-11 01:11:34.111
E/AndroidRuntime( 4516): FATAL EXCEPTION: main
03-11 01:11:34.111 E/AndroidRuntime( 4516):
android.database.sqlite.SQLiteDatabaseCorruptException: database disk
image is malformed: , while compiling: SELECT Names FROM MyTable WHERE
PageaNo = 1
SQL查询代码没有问题。那是什么问题呢?
我的数据库中有UTF-8个字符。会导致该错误吗?我该怎么办?救命!
最佳答案
我刚刚解决了与您类似的问题。问题出在sqlite数据库中,我认为这可能是在3.6版之前的sqlite3旧版本中的错误。现在,我使用sqlite3 v3.7.11 [http://www.sqlite.org/download.html]重新创建了数据库,它的工作原理很像-别忘了创建android_metadata表[http://www.reigndesign。 com / blog /在android-applications /中使用自己的sqlite-database /]
我希望这也可以解决您的问题。