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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.