SQLiteDatabaseCorruptException Ошибка при создании запроса - PullRequest
1 голос
/ 12 марта 2012

У меня есть предварительно заполненная база данных. Когда приложение запускается впервые, оно отправляет файлы из активов в базу данных. Система отлично работает на некоторых устройствах 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. это может вызвать эту ошибку? что я должен делать? помощь!

1 Ответ

1 голос
/ 01 мая 2012

Я только что решил проблему, похожую на вашу.Проблема была в базе данных sqlite, я думаю, что это была ошибка в старых версиях sqlite3, возможно, до 3.6.Теперь я пересоздал базу данных с sqlite3 v3.7.11 [http://www.sqlite.org/download.html], и она работает как чудо - и не забудьте создать таблицу android_metadata [http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/]

. Надеюсь, это также решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...