[问题][已解决] JDBC 出现 database is locked的错误

楼主: liu2007 (è–¯)   2019-08-25 13:38:04
※状况概述:
之前开始学习使用JDBC
也写了一个程式出来能够顺利写入与读取
今天又写了一个新的,对于建立Table与写入的方式基本上都没变
可是不知道为什么却跑出database is locked的讯息
我的程式也没没用多线程
DB Browser也关掉了
程式里连续建立三个Table也没问题
想不明白为什么会被Lock住
除虫了好久还是除不了
只好上来求救.....
这个程式只是把丢进来的LinkedList的每个元素里的资料写入数据库的程式
main 里面对于我丢上来的这个class的动作
仅仅是new 出来,然后call insertGallery 这个方法
执行的时候程式卡在 insertGallery 方法里的 stmt.execute(); 这行
※程式码:
https://pastebin.com/r9DzjjV8
※错误讯息:
org.sqlite.SQLiteException: [SQLITE_BUSY] The database file is locked
(database is locked)
at org.sqlite.core.DB.newSQLException(DB.java:941)
at org.sqlite.core.DB.newSQLException(DB.java:953)
at org.sqlite.core.DB.execute(DB.java:854)
at
org.sqlite.jdbc3.JDBC3PreparedStatement.execute(JDBC3PreparedStatement.java:56)
at DataBase.insertGallery(DataBase.java:43)
at hello.scanningTags(hello.java:45)
at hello.main(hello.java:19)
※补充说明:
作者: maxima (天雨焰)   2019-08-25 14:23:00
1.你的连线没有关过 con.close() 2. stmt也必须关闭https://www.cnblogs.com/jfqiu/p/3197014.html都加上 close 程式后再试看看? 而且我猜蚬仔卡住是因为没有关闭连线造成Exceptions 又没有rollback 才会卡死table*现在https://www.itread01.com/p/327592.html
楼主: liu2007 (è–¯)   2019-08-25 14:36:00
感谢m大,我工作结束后回电脑前研究看看
作者: GGing (小轩轩)   2019-08-29 06:17:00
觉得 close 很烦可以考虑用 JdbcTemplate

Links booklink

Contact Us: admin [ a t ] ucptt.com