2016-05-01 63 views
1

我在我的多线程应用程序中使用SQLite。为了确保这不会导致问题,我将SQLite数据库设置为WAL模式。所有线程共享一个在运行时永远不会关闭的连接。 但是,在执行批处理时出现此错误,我不知道为什么会发生这种情况。所有写入数据库的操作都是使用一个单独的执行程序完成的,读取操作是在多个线程中完成的。WAL模式下的Java SQLite:数据库被锁定

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) 

在此先感谢

+0

[数据库锁定在WAL模式下只有读取器]的可能重复(http://stackoverflow.com/questions/17115398/database-locked-in-wal-mode-with-only-readers) – e4c5

回答

0

找到了答案:我没有正常关闭服务器重装后我的连接由于旧池系统的遗体。