明示的なAutoCommittrueまたはfalseを使用していませんが、SQLiteエラーに直面しています。誰でもこのエラーに関する入力を提供できますか。このエラーが発生する状況はどのようなものですか。
前もって感謝します。よろしく、マナシセーブ
明示的なAutoCommittrueまたはfalseを使用していませんが、SQLiteエラーに直面しています。誰でもこのエラーに関する入力を提供できますか。このエラーが発生する状況はどのようなものですか。
前もって感謝します。よろしく、マナシセーブ
テーブルエントリをループするループ内にいるときに、同様の問題に繰り返し直面しました(私の場合はロールバックが不可能でした)。カーソルがエントリを処理している限り、SQL ステートメントは「進行中」です。これがコミットも禁止するかどうかは正確にはわかりませんが、そうなる可能性があります。
テーブル エントリを処理し、同じテーブルまたは別のテーブルにエントリを挿入しようとする場合、メモリ内のデータを収集し、ループの後で挿入または更新を実行することをお勧めします。
追加情報: 「Autocommit」は通常、SQLite ではデフォルトで「True」になります (もちろん、使用するアクセス レイヤーにも依存する可能性があります。私は Python と apsw を使用しているため、Java でこれについて詳しく説明することはできません)。これは、すべての挿入がただちに自動コミットされることを意味します。
==>これは別の解決策かもしれません。データをメモリに格納する代わりに、トランザクションを明示的に開いて、ループの後にコミットすることもできます。この方法では、問題も解決するはずです。