私のサーバーアプリケーション(C#で書かれた)では、複数のリクエストが同時に来て、サーバーはsqlite dbで読み取りと書き込みの両方の操作を行います。
ここでの問題は、他のリクエストがデータベースからの読み取り中にサーバーがデータベースに何かを挿入しようとしたときにtransaction.Commit()
database is locked
発生し、例外がスローExecuteNonQuery()
されますが、正常に実行されます。したがって、問題はデータベースへのコミットのみです。
すべての挿入および更新クエリの後にコミットしています。一度コミットするだけでこの問題を回避できますか (データベースをメモリに保持し、アプリケーションを閉じてコミットします)? または、この状況を処理する他の方法があります。