SQLite错误:无法提交事务 - 使用Java代码正在进行的SQL语句

时间:2009-06-26 13:56:12

标签: sqlite progress autocommit

虽然我没有使用任何显式的AutoCommit true或false,但我遇到了SQLite错误。 任何人都可以提供此错误的任何输入。你会遇到这个错误的情况是什么。

提前致谢。 问候, 玛纳西保存

1 个答案:

答案 0 :(得分:5)

当我在循环遍历表条目的循环中时,我反复遇到类似的问题(在我的情况下,这是一个不可能的回滚)。只要游标正在处理条目,SQL语句就“正在进行中”。我不确切地知道,如果这也禁止提交,但它可能是。

当您尝试处理表条目并在相同或不同的表中插入条目时,您可能希望尝试在内存中收集数据,并在循环之后执行插入或更新。

Addtitional info:“Autocommit”通常在SQLite中默认为“True”(当然它也可能取决于你使用的访问层 - 我使用的是Python和apsw,所以我不能告诉你更多关于这一点的信息)使用Java)。这意味着,每个插入都是立即自动更新的。

==>这可能是另一种解决方案。您可以尝试显式打开事务并在循环之后提交它,而不是将数据存储在内存中 - 这样,问题也应该消失。