2

マルチスレッド アプリケーションで SQLite を使用しています。それが問題を引き起こさないようにするために、SQLite データベースを WAL モードに設定しました。すべてのスレッドは、実行時に閉じられることのない 1 つの接続を共有します。ただし、バッチを実行するとこのエラーが発生しますが、なぜ発生するのかわかりません。データベースへのすべての書き込みは単一のスレッド エグゼキューターを使用して行われ、読み取りは複数のスレッドで行われます。

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 に答える