トランザクションの実行中に MDB テーブルを読み取りからロックしたいと考えています。私は使用しますdbDenyRead
が、明らかにこれは信頼性が低く、常にテーブルをロックするとは限りません。
http://www.office-archive.com/32-ms-access/c2bd1a2553e79c60.htm
セマフォ ソリューションを使用してテーブルの仮想ロックを実現するにはどうすればよいですか?
セマフォを別のテーブルに格納し、テーブル名とトランザクションの終了時にクリアされるプロセス/ワークステーション ID を保持する行がある場合、次のシーケンスを防ぐにはどうすればよいですか?
- プロセス A がセマフォ テーブルにクエリを実行し、空白であることを確認します。
- プロセス B がセマフォ テーブルをクエリし、空白であることがわかります。
- プロセス A は、プロセス A の ID でセマフォ テーブルを更新します。
- プロセス B は、プロセス B ID でセマフォ テーブルを更新します。
- プロセスAとBの両方がトランザクションを実行します(私が望むものではありません)。
IF
私のバージョンのJET-SQLはそれを使用できないため、SQLステートメントの使用を含む回答はありません。