一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

SQLiteException: database is locked異常的解決辦法

 Sundy工作室 2013-07-25

我們知道Android系統(tǒng)支持sqlite數(shù)據(jù)庫,使用Android系統(tǒng)訪問sqlite數(shù)據(jù)庫時(shí),有時(shí)可能會(huì)遇到android.database.sqlite.SQLiteException: database is locked異常,例如

06-29 13:17:12.415: E/Database(10064): CREATE TABLE android_metadata failed 06-29 13:17:12.455: E/Database(10064): Failed to setLocale() when constructing, closing the database 06-29 13:17:12.455: E/Database(10064): android.database.sqlite.SQLiteException: database is locked 06-29 13:17:12.455: E/Database(10064): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method) 06-29 13:17:12.455: E/Database(10064): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1987) 06-29 13:17:12.455: E/Database(10064): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1855) 06-29 13:17:12.455: E/Database(10064): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)

遇到這個(gè)問題,有幾種可能,我在下面詳細(xì)的列出來,方便大家在遇到的時(shí)候查看

多線程訪問造成的數(shù)據(jù)庫鎖定。
   如A線程在訪問當(dāng)前的數(shù)據(jù)庫,這時(shí)候B線程也需要訪問數(shù)據(jù)庫,這樣在B線程中,就會(huì)有類似以上的異常產(chǎn)生,我們需要將提供數(shù)據(jù)庫訪問的方法設(shè)置成同步的,防止異步調(diào)用時(shí)出現(xiàn)問題,如:

public static synchronized DBConnection getConnection(String connectionName) throws Exception { String pathFile = getPath() connectionName;// 轉(zhuǎn)換目錄data下 return new DBConnection(SQLiteDatabase.openDatabase(pathFile, null, SQLiteDatabase.OPEN_READWRITE)); }

使用synchronized 關(guān)鍵字來修飾獲取數(shù)據(jù)庫連接的方法,或者使用isDbLockedByOtherThreads方法判斷數(shù)據(jù)庫是否被鎖住了,然后等待一定的時(shí)間再進(jìn)行訪問。
sqlite自身的問題
有時(shí)我們會(huì)在調(diào)試程序的時(shí)候發(fā)現(xiàn)Log控制臺(tái)頻繁的出現(xiàn)上述異常,而在運(yùn)行程序的時(shí)候就沒有這個(gè)問題,這種現(xiàn)象我在調(diào)試ResultSet時(shí)也會(huì)出現(xiàn),查資料找原因是因?yàn)閟qlite數(shù)據(jù)不完全是線程安全的,導(dǎo)致在一些地方會(huì)莫名其妙的出問題,如果遇到這樣的情況,那只能不要將斷點(diǎn)打到數(shù)據(jù)庫連接的地方了。
 
 
 
另外查看:轉(zhuǎn)至 : http://blog.sina.com.cn/s/blog_74c22b2101010cwo.html

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日木乱偷人妻中文字幕在线| 欧美日韩亚洲综合国产人| 青青操在线视频精品视频| 国产欧美日产中文一区| 欧美一二三区高清不卡| 国产熟女一区二区精品视频| 久热这里只有精品九九| 亚洲欧美国产网爆精品| 精品al亚洲麻豆一区| 中国美女偷拍福利视频| 老司机精品在线你懂的| 精品国产亚洲免费91| 久久免费精品拍拍一区二区| 日韩精品小视频在线观看| 久久亚洲国产视频三级黄| 亚洲中文字幕人妻av| 日韩精品你懂的在线观看| 亚洲综合香蕉在线视频| 久久精品中文扫妇内射| 亚洲精品熟女国产多毛| 日本人妻精品有码字幕| 麻豆视频传媒入口在线看| 国产精品欧美日韩中文字幕| 亚洲精品一二三区不卡| 亚洲天堂一区在线播放| 又黄又色又爽又免费的视频| 午夜福利黄片免费观看| 日本不卡在线视频你懂的| 国产亚洲欧美日韩精品一区| 欧美黄色黑人一区二区| 久草精品视频精品视频精品| 日韩精品一区二区亚洲| 国产日产欧美精品大秀| 成人精品视频在线观看不卡| 国产亚洲精品俞拍视频福利区| 欧美偷拍一区二区三区四区| 粉嫩国产美女国产av| 日韩欧美黄色一级视频| 亚洲精品一二三区不卡| 日本黄色高清视频久久| 日韩特级黄色大片在线观看|