hi,
recently, I have a prolbem, that my android(4.3) application use sqlite db
to store the data.
my had two thread visit the db, and offten happen delete db table, so my data
lose.
03-18 14:25:04.134 2345-2384/? E/SQLiteLog: (26) statement aborts at 78:
[SELECT locale FROM android_metadata UNION SELECT NULL ORDER BY locale DESC
LIMIT 1] file is encrypted or is not a database
03-18 14:25:04.144 2345-2384/? E/SQLiteDatabase: Failed to open database
'/data/data/com.mxcg.abcmarket/databases/citycardconfig.db'.
android.database.sqlite.SQLiteException: Failed to change locale for db
'/data/data/com.mxcg.abcmarket/databases/citycardconfig.db' to 'zh_CN'.
at
android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:393)
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218)
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
at
android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
at
android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
at
android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
at
android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
at
android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:898)
at
android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:235)
at
android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
at
android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
at
com.mxcg.abcmarket.dbdao.BaseDao.queryflag(BaseDao.java:108)
at
java.lang.reflect.Method.invokeNative(Native Method)
at
java.lang.reflect.Method.invoke(Method.java:525)
at
com.mxcg.abcmarket.tools.DbUtils.queryflog(DbUtils.java:332)
at
com.mxcg.abcmarket.POS.SMKBackTcpCtl.GoodsWaterSend(SMKBackTcpCtl.java:256)
at
com.mxcg.abcmarket.common.BaseApplication$BusinessTask.run(BaseApplication.java:103)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:153)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:268)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at
java.lang.Thread.run(Thread.java:841)
Caused by:
android.database.sqlite.SQLiteDatabaseCorruptException: file is encrypted or is
not a database (code 26)
at
android.database.sqlite.SQLiteConnection.nativeExecuteForString(Native Method)
at
android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:641)
at
android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:374)
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218)?
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)?
at
android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)?
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)?
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)?
at
android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)?
at
android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)?
at
android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)?
at
android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:898)?
at
android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:235)?
at
android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)?
at
android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)?
at
com.mxcg.abcmarket.dbdao.BaseDao.queryflag(BaseDao.java:108)?
at
java.lang.reflect.Method.invokeNative(Native Method)?
at
java.lang.reflect.Method.invoke(Method.java:525)?
at
com.mxcg.abcmarket.tools.DbUtils.queryflog(DbUtils.java:332)?
at
com.mxcg.abcmarket.POS.SMKBackTcpCtl.GoodsWaterSend(SMKBackTcpCtl.java:256)?
at
com.mxcg.abcmarket.common.BaseApplication$BusinessTask.run(BaseApplication.java:103)?
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)?
at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)?
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:153)?
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:268)?
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)?
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)?
at
java.lang.Thread.run(Thread.java:841)?
03-18 14:25:04.184 2345-2350/? D/dalvikvm: GC_CONCURRENT freed 4152K, 31% free
15100K/21824K, paused 2ms+8ms, total 47ms
03-18 14:25:04.184 2345-2384/? D/dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 39ms
03-18 14:25:04.184 2345-2384/? E/SQLiteOpenHelper: Couldn't open
citycardconfig.db for writing (will try read-only):
android.database.sqlite.SQLiteException: Failed to change locale for db
'/data/data/com.mxcg.abcmarket/databases/citycardconfig.db' to 'zh_CN'.
at
android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:393)
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218)
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
at
android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
at
android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
at
android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
at
android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
at
android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:898)
at
android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:235)
at
android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
at
android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
at
com.mxcg.abcmarket.dbdao.BaseDao.queryflag(BaseDao.java:108)
at
java.lang.reflect.Method.invokeNative(Native Method)
at
java.lang.reflect.Method.invoke(Method.java:525)
at
com.mxcg.abcmarket.tools.DbUtils.queryflog(DbUtils.java:332)
at
com.mxcg.abcmarket.POS.SMKBackTcpCtl.GoodsWaterSend(SMKBackTcpCtl.java:256)
at
com.mxcg.abcmarket.common.BaseApplication$BusinessTask.run(BaseApplication.java:103)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:153)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:268)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at
java.lang.Thread.run(Thread.java:841)
Caused by:
android.database.sqlite.SQLiteDatabaseCorruptException: file is encrypted or is
not a database (code 26)
at
android.database.sqlite.SQLiteConnection.nativeExecuteForString(Native Method)
at
android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:641)
at
android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration(SQLiteConnection.java:374)
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:218)?
at
android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)?
at
android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)?
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)?
at
android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)?
at
android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)?
at
android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)?
at
android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)?
at
android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:898)?
at
android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:235)?
at
android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)?
at
android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)?
at
com.mxcg.abcmarket.dbdao.BaseDao.queryflag(BaseDao.java:108)?
at
java.lang.reflect.Method.invokeNative(Native Method)?
at
java.lang.reflect.Method.invoke(Method.java:525)?
at
com.mxcg.abcmarket.tools.DbUtils.queryflog(DbUtils.java:332)?
at
com.mxcg.abcmarket.POS.SMKBackTcpCtl.GoodsWaterSend(SMKBackTcpCtl.java:256)?
at
com.mxcg.abcmarket.common.BaseApplication$BusinessTask.run(BaseApplication.java:103)?
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)?
at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)?
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:153)?
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:268)?
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)?
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)?
at
java.lang.Thread.run(Thread.java:841)?
03-18 14:25:04.194 2345-2384/? E/SQLiteLog: (26) statement aborts at 0: [PRAGMA
user_version;] file is encrypted or is not a database
03-18 14:25:04.194 2345-2384/? E/DefaultDatabaseErrorHandler: Corruption
reported by sqlite on database:
/data/data/com.mxcg.abcmarket/databases/citycardconfig.db
03-18 14:25:04.194 2345-2384/? E/DefaultDatabaseErrorHandler: deleting the
database file: /data/data/com.mxcg.abcmarket/databases/citycardconfig.db
03-18 14:25:04.194 2345-2384/? W/System.err:
android.database.sqlite.SQLiteDatabaseCorruptException: file is encrypted or is
not a database (code 26)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteConnection.nativeExecuteForLong(Native Method)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteConnection.executeForLong(SQLiteConnection.java:598)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteSession.executeForLong(SQLiteSession.java:652)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteStatement.simpleQueryForLong(SQLiteStatement.java:107)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.DatabaseUtils.longForQuery(DatabaseUtils.java:813)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.DatabaseUtils.longForQuery(DatabaseUtils.java:801)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteDatabase.getVersion(SQLiteDatabase.java:862)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:242)
03-18 14:25:04.194 2345-2384/? W/System.err: at
android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
03-18 14:25:04.194 2345-2384/? W/System.err: at
com.mxcg.abcmarket.dbdao.BaseDao.queryflag(BaseDao.java:108)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.lang.reflect.Method.invokeNative(Native Method)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.lang.reflect.Method.invoke(Method.java:525)
03-18 14:25:04.194 2345-2384/? W/System.err: at
com.mxcg.abcmarket.tools.DbUtils.queryflog(DbUtils.java:332)
03-18 14:25:04.194 2345-2384/? W/System.err: at
com.mxcg.abcmarket.POS.SMKBackTcpCtl.GoodsWaterSend(SMKBackTcpCtl.java:256)
03-18 14:25:04.194 2345-2384/? W/System.err: at
com.mxcg.abcmarket.common.BaseApplication$BusinessTask.run(BaseApplication.java:103)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:276)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:153)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:268)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-18 14:25:04.194 2345-2384/? W/System.err: at
java.lang.Thread.run(Thread.java:841)
03-18 14:25:04.194 2345-2384/? I/System.out: START:size 0
and my applicationn db create again . later the db delete again.and always
repeated, we restart the device .it ok.
please tell me why happen ?
thanks lots
jinchengzou
2017/03/22
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users