VisualStudio2017(VB.NET)とSystem.Data.SQLite.dllを使って、
SQLiteのデータベースを使ったプログラムを作っています。
実行していると、稀に「attempt to write a readonly database」とエラーになる場合があります。
必ず起きるのではなく、レコードの更新や削除時に、ときどき起こり、頻度は多くありません。
データベースファイルは、NASの共有フォルダに置いています。
共有に置ていますが、データベースに対して、複数のPCの作成しているプログラムが
同時にアクセスということはありません。
エラーを調べると、権限についてよく見つかりますが、NASの設定画面でフォルダの制限などは
設定しておらず、ファイルの所有者もEveryoneになっています。
考えられる原因はあるでしょうか?
※
① データベースに対して同時に更新しようとしている?
→ プログラムを確認しても、今のところクローズ漏れや同時に更新されるような箇所は見つけられていません。
無理やり同時に更新させてみると、エラーになっても「database is locked」となりメッセージが異なりました。
② 外部のプログラムの何かがデータベースファイルをロックしている?
→ WindowsDefenderなど、外部のプログラムが影響している可能性はあるでしょうか?
③ ネットワークやNASの設定が影響している?
→ この辺り詳しくないため、どの設定などが影響するか見当が付かない状態です。
以上、よろしくお願い致します。