ドキュメントから、私は adModeShareDenyWrite がその方法であると期待していますが、正しく機能していません。
ADO 経由で Access データベースを使用しています。私の接続文字列は Mode=8 で、これは adModeShareDenyWrite です。しかし、テーブルから行を削除しようとすると、次のようになります。
詳細不明のエラー、説明: 指定されたテーブルから削除できませんでした。、ソース: Microsoft JET データベース エンジン
つまり、この設定により、ME は自分の接続を使用してデータベースを更新できなくなります。
同じことを報告している Web 上の他の投稿をいくつか見つけました。
管理者がアクセス許可を変更する必要のないソリューションを探しています。私のプログラムが制御できるものである必要があります。
ここでの私の動機は、データベースが破損する可能性を最小限に抑えることです。Microsoft が文書化した mdb ファイルの破損の原因の 1 つは、2 つのアプリが同じデータベースに書き込むことです。そのため、1 つのアプリのみがデータベースへの書き込み接続を持つことができるようにしたいと考えています。他の人は読むことができますが、書き込もうとすると失敗するはずです。最初に接続を確立した人が勝ちます。