СОЗДАТЬ TABLE android_metadata не удалось - PullRequest
1 голос
/ 16 января 2012

Я разработал приложение, которое имеет доступ к базе данных на устройстве; однако, я не знаю, сейчас он не может получить доступ к базе данных, выполняющей строки кода, подобные этой:

this.productoHelper.getWritableDatabase();

Это моя трассировка стека исключений:

01-16 19:20:04.629: E/Database(17236): CREATE TABLE android_metadata failed
01-16 19:20:04.639: E/Database(17236): Failed to setLocale() when constructing, closing the database
01-16 19:20:04.639: E/Database(17236): android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1987)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1855)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:854)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:847)
01-16 19:20:04.639: E/Database(17236):  at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:550)
01-16 19:20:04.639: E/Database(17236):  at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
01-16 19:20:04.639: E/Database(17236):  at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)

Кстати! Когда я пытаюсь сделать это из Eclipse Emulator, он работает нормально, но не на устройстве.

Ответы [ 2 ]

0 голосов
/ 17 января 2012

Вам просто нужно использовать флаг SQLiteDatabase.NO_LOCALIZED_COLLATORS при вызове SQLiteDatabase.openDatabase ()

0 голосов
/ 17 января 2012

Попробуйте использовать SQLiteDatabase.NO_LOCALIZED_COLLATORS перед открытием базы данных.

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