2012-11-20 106 views
1

我測試應用程序與Galaxy標籤2(4.0.3) 但我用Galaxy SI(2.3.6)測試它時出現此錯誤,和Akai(4.0.3)是有效的。Android Sqlite錯誤android.database.sqlite.SQLiteCantOpenDatabaseException:無法打開數據庫文件

我們使用的數據庫已經建立,當應用程序啓動時,我會從助攻複製到數據庫目錄(如果不存在)

11-20 11:20:05.170: I/SqliteDatabaseCpp(12921): sqlite returned: error code = 11, msg = database corruption at line 48112 of [ed759d5a9e], db=/data/data/com.xprts.mobilesales/databases/testDB 
11-20 11:20:05.170: I/SqliteDatabaseCpp(12921): sqlite returned: error code = 11, msg = database disk image is malformed, db=/data/data/com.xprts.mobilesales/databases/testDB 
11-20 11:20:05.170: E/SqliteDatabaseCpp(12921): sqlite3_exec - Failed to set synchronous mode = 1(Normal) 
11-20 11:20:05.170: E/DefaultDatabaseErrorHandler(12921): Corruption reported by sqlite on database: /data/data/com.xprts.mobilesales/databases/MobileSales.DB 
11-20 11:20:05.170: E/DefaultDatabaseErrorHandler(12921): deleting the database file: /data/data/com.xprts.mobilesales/databases/MobileSales.DB 
11-20 11:20:05.170: I/SqliteDatabaseCpp(12921): sqlite returned: error code = 14, msg = cannot open file at line 27803 of [ed759d5a9e], db=/data/data/com.xprts.mobilesales/databases/testDB 
11-20 11:20:05.170: I/SqliteDatabaseCpp(12921): sqlite returned: error code = 14, msg = os_unix.c: open() at line 27803 - "" errno=2 path=/data/data/com.xprts.mobilesales/databases/MobileSales.DB, db=/data/data/com.xprts.mobilesales/databases/testDB 
11-20 11:20:05.170: E/SqliteDatabaseCpp(12921): sqlite3_open_v2("/data/data/com.xprts.mobilesales/databases/MobileSales.DB", &handle, 2, NULL) failed 
11-20 11:20:05.170: I/SqliteDatabaseCpp(12921): sqlite returned: error code = 14, msg = cannot open file at line 27803 of [ed759d5a9e], db=/data/data/com.xprts.mobilesales/databases/testDB 
11-20 11:20:05.170: I/SqliteDatabaseCpp(12921): sqlite returned: error code = 14, msg = os_unix.c: open() at line 27803 - "" errno=2 path=/data/data/com.xprts.mobilesales/databases/MobileSales.DB, db=/data/data/com.xprts.mobilesales/databases/testDB 
11-20 11:20:05.170: E/SqliteDatabaseCpp(12921): sqlite3_open_v2("/data/data/com.xprts.mobilesales/databases/MobileSales.DB", &handle, 1, NULL) failed 
11-20 11:20:05.178: E/SQLiteDatabase(12921): Failed to open the database. closing it. 
11-20 11:20:05.178: E/SQLiteDatabase(12921): android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at android.database.sqlite.SQLiteDatabase.dbopen(Native Method) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1124) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1075) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1135) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1075) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1051) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at com.xprts.mobilesales.database.DBAdapter.checkDataBase(DBAdapter.java:118) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at com.xprts.mobilesales.database.DBAdapter.createDataBase(DBAdapter.java:89) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at com.xprts.mobilesales.database.DBAdapter.access$0(DBAdapter.java:87) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at com.xprts.mobilesales.database.DBAdapter$1.run(DBAdapter.java:32) 
11-20 11:20:05.178: E/SQLiteDatabase(12921): at java.lang.Thread.run(Thread.java:856) 

解決方案


最後它的作品 我數據庫已損壞(僅在Galaxy Tab 2中) 我試過SQLJet數據庫瀏覽器檢查我的數據庫 錯誤在此SQL語句 (DEFAULT「」「10」「」),現在它的工作好,感謝

CREATE TABLE [MB_DEVICE_SEQUENCES] (
[COMP_ID] TEXT(10) NOT NULL, 
[DEVICE_CODE] TEXT(10) NOT NULL, 
[SEQ_TYPE] TEXT(4000) DEFAULT '''10''' NOT NULL, 
[COMP_YEAR] NUMERIC(4) NOT NULL, 
[SEQ_CODE] TEXT(10) NOT NULL, 
[DEVICE_SEQ_FROM_NUMBER] NUMERIC(20) NOT NULL, 
[DEVICE_SEQ_TO_NUMBER] NUMERIC(20) NOT NULL, 
[DEVICE_SEQ_INTERVAL] TEXT(20) NULL, 
[DEVICE_SEQ_CONSUMED_COUNT] NUMERIC(20) NULL, 
PRIMARY KEY ([COMP_ID],[DEVICE_CODE],[SEQ_TYPE],[COMP_YEAR],[SEQ_CODE],[DEVICE_SEQ_FROM_NUMBER]) 
) 

回答

0

確保該文件複製成功完成後,你的數據庫副本後損壞。

這也可能是因爲您沒有必要的元數據在您預先存在的數據庫上。 您是否按照here ?的步驟操作

+0

本教程中的所有步驟都是在此應用程序上完成的 但它不工作... –

相關問題