我正在使用 sqlite 作为应用程序的数据库。它可以正常工作,但是当我要从数据库中删除表时,它会使用[https://bitbucket.org/xerial/sqlite-jdbc抛出此错误]:
错误
java.sql.SQLException: [SQLITE_LOCKED] A table in the database is locked (database table is locked)
我正在使用 no-auto-commit-mode ,所以在删除我已提交的表之前。为什么会发生这种情况?
一种可能的解决方案是关闭连接并重新打开它,但由于其他操作同时发生,因此无法完成此操作。
**
**
我使用以下方法将表的行计数到线程中:
connection1.createStatement().executeQuery("SELECT COUNT(*) FROM LIBRARIES;").getInt(1);
但这会返回一个从未关闭的结果集,因此数据库表永远被锁定!!