Date: Mon, 28 Oct 2002 19:09:49 +0900
From: "Satoshi Miyamoto" <who@sub.example.jp>
はじめまして,宮本と申します
以後,よろしくお願い致します
開発環境
VB6.0(SP4)
使用サーバー
SQL SERVER 2000
現在,会議室予約機能を持ったシステムを作成しています
先に予約を行なっているユーザが更新中はロックされ
他のユーザはSELECT,INSERT,UPDATE等できないよう
にするためBeginTrans後以下のSQL文にてテーブルをロックしています
SELECT * FROM Meeting_tbl WITH (TABLOCK)
更新完了後,CommitTransにてトランザクション完了,
およびロック解除を行なっています
(更新失敗時はRollBackTransにて元のデータに戻し,
ロック解除を行なっています)
質問なのですが
CommitTransにてエラーが起こった際,OnError内にて
RollBackTransが正常に動作しているにもかかわらず
テーブルのロックが解除されません(ここでいう解除されない
とはデータ取得失敗という意味です)
その後6分ほど達つとサーバーのタイムアウトなのか
わからないのですがロックが解除されています
(解除されているというのはデータ取得成功という意味です)
CommitTrans,RollBackTrans以外にロック解除方法
ご存知の方いらっしゃいましたらご教授いただけないでしょうか
よろしくお願いします
(株)FirstSystem 宮本 敏史
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|