• 締切済み

ADOで排他ロックがうまくいかない

VB6.0+access98で開発してます。 ADOを使ったレコード単位の排他ロックについて教えてください。 rs.Open時に,adLockPessimisticを指定しても,ロックされません。 rs.Update のところで一瞬ロックされているようです。 あるレコードの編集中は登録またはキャンセルされるまで、 ずっとロックしていたいのです。 他端末からそのレコードにアクセスした際にエラーが返るように したいのです。 上手く出来る方法ありませんか?

みんなの回答

  • enopi
  • ベストアンサー率66% (4/6)
回答No.2

Data Shaping Serviceというものが悪さをしているようです。 詳しいことは参考URLをご覧ください (筆者の方の許可を得ていないので、直リンははずしてます) ttp://homepage3.nifty.com/f-lap/tips_adolock.htm

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.1

トランザクションは開始されてますでしょうか?

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=380941
indie
質問者

補足

回答ありがとうございます。 トランザクションは、更新が失敗した時に一連の処理をキャンセルできるように使うものですよね? 編集画面であるレコードを呼び出している時に、 他端末の編集画面で、同じレコードを呼び出すことができない(エラーが返される)ということをしたいと思っています。 オラクルだと、SELECT文でFOR UPDATEを付けると、 commitするまで他から当該レコードにアクセスできませんよね? (エラーになる)そんな風にしたいんです。 どうぞアドバイスよろしくお願いします。

関連するQ&A