作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 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);
但这会返回一个从未关闭的结果集,因此数据库表被永远锁定!!
最佳答案
这是一个FAQ 。一个程序/线程在写入时不可能同时访问数据库。
您应该设置一个超时,以允许您的线程等待其他线程完成。
关于java - SQLite 古怪的数据库表锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36062790/
我正在维护一个程序,需要解析以“几乎结构化”的文本形式存在的数据。即,生成它的各种程序使用稍微不同的格式,它可能已被打印出来并通过 OCR 重新输入(是的,我知道),但有错误等,所以我需要使用启发式方
已解决:感谢 dominic hamon 解决了这个问题。这一切都归结为尝试在 kinda 空对象上调用函数。它可以使用对象的一部分,但不能使用其他部分。 我什至不知道这会发生。 问题 我遇到了一个奇
我是一名优秀的程序员,十分优秀!