PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
12612 00/08/04 13:31:44 RE(10):PB7.0: データベースのロックについて By hiro-c
12587 00/08/03 12:38:43 RE(9):PB7.0: データベースのロックについて By hiro-c
12584 00/08/03 11:19:56 RE(8):PB7.0: データベースのロックについて By こてちゅ
12583 00/08/03 11:01:11 RE(7):PB7.0: データベースのロックについて By hiro-c
12582 00/08/03 10:48:10 RE(6):PB7.0: データベースのロックについて By hiro-c
12580 00/08/03 10:41:32 RE(5):PB7.0: データベースのロックについて By てとらぽっと
12579 00/08/03 10:15:52 RE(4):PB7.0: データベースのロックについて By こてちゅ
12578 00/08/03 10:10:32 RE(3):PB7.0: データベースのロックについて By ふくぞー
12577 00/08/03 09:59:11 RE(2):PB7.0: データベースのロックについて By hiro-c
12556 00/08/02 15:21:26 RE(1):PB7.0: データベースのロックについて By ふくぞー
12554 00/08/02 14:20:59 PB7.0: データベースのロックについて By hiro-c

カテゴリ:データベース
日付:2000年08月03日 10:41 発信者:てとらぽっと
題名:RE(5):PB7.0: データベースのロックについて

hiro-cさん、こんにちは。

すでにこてちゅさんがコメントされていることと重複してしまいますが。

>行単位のロックで上記の排他を掛けることができるのでしょうか??
>行単位と言うのは、テーブルに格納してあるレコード単位にロックを
>掛けるという意味で合っていますか??

そのとおりです。これが、最初にhiro-cさん自身が、
DBのマニュアルで見つけられたことに相違ありませんので、
あらためて確認してください。
(「DBでの方法が見あたりません」というくだりがよくわかりませんが…。)

(No.12554より)
>マニュアル(SQL Anywhere Studio ユーザーズ・ガイド 第15章)を
>読むとrowでロックを掛ける方法は載っているようなのですが、
>DBでの方法が見あたりません・・・。


で、ちょっと↓の部分にアドバイスさせてもらいますと、
トランザクションとセッションを混同されてしまっているようです。

>他のトランザクションがDBを更新中(CONNECT)に別のトランザクションが
>開放(DISCONNECT)するまで、その業務を行えないようにしたいと考えています。

CONNECTしてからDISCONNECTするまでですと、
他のユーザが接続(セッション)している間、
ずっと使えなくなってしまいます。

整合性を確保するまでの、短い一連の仕事(トランザクション)が終了するまで
ロックした方が良いと思います。
すなわち、COMMITかROLLBACKをするまで、ということになります。
(実際、COMMITかROLLBACKをすることで行ロックが自動的に解除されると思います)

自分の1トランザクションが終了するまで、
自分以外のセッションでは行単位にロックされるということです。

やはりDBのマニュアルを確かめてください。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Sybase SQL Anywhere Client
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Adaptive Server Anywhere 6.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.