gpt4 book ai didi

SQLITE_BUSY wicket 中的数据库文件被锁定(数据库被锁定)

转载 作者:行者123 更新时间:2023-12-03 16:10:15 25 4
gpt4 key购买 nike

我正在 wicket 做一个项目
如何解决问题。
我遇到了这样的消息:
WicketMessage:无法使用构造函数 public itucs.blg361.g03.HomePage() 实例化页面

根本原因:

java.lang.UnsupportedOperationException: [SQLITE_BUSY] 数据库文件被锁定(数据库被锁定)
在 itucs.blg361.g03.CategoryEvents.CategoryEventCollection.getCategoryEvents(CategoryEventCollection.java:41)

 public List<CategoryEvent> getCategoryEvents() {
List<CategoryEvent> categoryEvents = new
LinkedList<CategoryEvent>();
try {
String query = "SELECT id, name, group_id"
+ " FROM event_category";
Statement statement = this.db.createStatement();
ResultSet result = statement.executeQuery(query);
while (result.next()) {
int id = result.getInt("id");
String name = result.getString("name");
int group_id = result.getInt("group_id");
categoryEvents.add(new CategoryEvent(id, name, group_id));
}
} catch (SQLException ex) {
throw new UnsupportedOperationException(ex.getMessage());
}
return categoryEvents;
}

在 itucs.blg361.g03.HomePage.(HomePage.java:71)
        categories = categoryCollection.getCategoryEvents();

在 java.lang.reflect.Constructor.newInstance(Constructor.java:525)

最佳答案

Sqlite 一次只允许一个写入器写入整个数据库,除非您选择“WAL”日志模式,否则写入时没有读取器。此外,除非您明确要求它等待,否则它只会返回 SQLITE_BUSY 状态,以便在运行冲突操作时尝试访问数据库。

您可以告诉 sqlite 在指定的时间内等待数据库变为可用。 C 级 API 是 sqlite3_busy_timeout ;不过,我从未使用过 Java 中的 sqlite,所以我不知道在哪里可以找到它。

关于SQLITE_BUSY wicket 中的数据库文件被锁定(数据库被锁定),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8559623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com