2009-06-26 75 views
5

我,雖然我沒有使用任何明確的自動提交true或false面臨一個SQLite錯誤正在進行中的SQL語句。 任何人都可以提供有關此錯誤的任何輸入。你會得到這個錯誤的情況是什麼?SQLite的錯誤:無法提交事務 - 使用Java代碼

在此先感謝。 Regards, Manasi保存

+0

能否請您發佈的代碼片段? – 2009-06-26 14:10:13

回答

5

當我在一個循環內循環表項時,我反覆面對類似的問題(在我的情況下,這是一個回滾是不可能的)。只要遊標正在處理這些條目,一條SQL語句就會「正在進行」。我不完全知道,如果這也禁止提交,但它可能是。

當您嘗試進程表項,並插入在相同或不同的表項,你可能想嘗試收集數據在內存中,在循環後做插入或更新。

附加信息:「自動提交」通常在SQLite中默認爲「True」(當然也可能取決於您使用的訪問層 - 我使用Python和apsw,所以我不能告訴你更多關於這個在Java中)。這意味着,每個插件都立即自動完成。

==>這可能是一個其他的解決方案。而不是存儲在內存中的數據,你可以嘗試顯式打開一個事務,並在循環後其提交 - 這樣一來,問題應該走也行。