2

我在我的多线程应用程序中使用 SQLite。为了确保这不会导致问题,我将 SQLite 数据库设置为 WAL 模式。所有线程共享一个在运行时从不关闭的连接。但是,我在执行批处理时遇到了这个错误,我不知道为什么会这样。所有对数据库的写入都使用单线程执行器完成,读取在多个线程中完成。

java.sql.SQLException: database is locked 
at org.sqlite.DB.throwex(DB.java:370) 
at org.sqlite.DB.executeBatch(DB.java:302) 
at org.sqlite.PrepStmt.executeBatch(PrepStmt.java:93) 

提前致谢

4

1 回答 1

2

找到答案:由于旧池系统的残留,服务器重新加载后我没有正确关闭连接。

于 2016-05-02T20:03:57.297 回答