データベースの排他制御は必要ですか?

[上に] [前に] [次に]
じゅん 1999/10/21(木) 10:00:56
じゅんと申します。
よろしくお願いします。

現在、NT4.0+ISS4.0+VBScriptで開発を行っています。

初歩的な質問なのですが、データベースに対して、複数の人が同時に更新を行った場合の排他制御は、通常、どのようにするものでしょうか?
データベースは、Oracleを考えています。

VB、Access等では、排他制御はデータベース側の設定に依存していました。(プログラム側は、排他エラーが発生した場合、排他エラーかどうかの判断を行い、エラーメッセージを表示)

Web上でも「Connection」オブジェトの「BeginTrans」メソッド、「CommitTrans」メソッド、「RollbackTrans」メソッドを使用すれば良いかなと思っているのですが...
(これは、排他制御というより、トランザクションの処理かな)

過去ログでは、flockというものを良く見掛けます。
すみません、勉強不足で「flockってなに?」って状態です。
もし、flockを使用するのであれば、flockについて調べてみます。

ケンシロウ 1999/10/21(木) 10:52:04
flockはこの場合、何の関係もありません。
Oracleなら基本的に排他制御の機構をDBが持ってますよね。
CGIの銭湯でコネクトして、ロックして、SQL発行後、切断すればいいのでは?
1CGI、1トランザクションが原則です。

じゅん 1999/10/21(木) 13:35:05
ケンシロウさん、早速のレスありがとうございます。

なるほど、CGIを使って処理するんですね。
といっても、「CGIってなに?」というレベルなので、「とほほのCGI入門」を必死になって読んでいます。

そこで、追加の質問で申し訳ないのですが、CGIはどの言語でもOKというこですが、VBScriptで記述しても良いのですか?

また、VBScriptで記述した場合、サーバーサイドスクリプトと同じ記述方法で良いのでしょうか?

じゅん 1999/10/21(木) 13:46:27
先ほどの「そこで、追加の質問で申し訳ないのですが、CGIはどの言語でもOKというこですが、VBScriptで記述しても良いのですか?」
の訂正です。

Perlを使用した場合、「Print "VBScriptの記述を行う"」で良いでしょうか?

hiro-kim 1999/10/21(木) 14:53:12
Webサーバ(IIS)側で VBScript ベースの処理をおこなうときは,CGIではなくASPという技術を使います。
IIS 4.0 を標準インストールしたのであれば,すでにASPが使える状態になっているはずですから,以下のオンラインマニュアルを参照のこと。

NT 4.0 Option Pack
 オンラインマニュアル
  Microsoft Intetnet Information Server
   スクリプト作成者リファレンス

ASPのサンプルプログラムを紹介しているWebサイトもありますので,Web検索サービスで探してみるとイメージがつかみやすいでしょう。

>Perlを使用した場合、「Print "VBScriptの記述を行う"」で良いでしょうか?

記述したVBScriptのソースリストが文字列としてWebブラウザ側に送信されるだけですから,ダメです。

DHTMLとCGIについて
../199910/99100187.htm

じゅん 1999/10/21(木) 15:49:27
hiro-kim さん、アドバイスありがとうございます。

実際に実行したら、hiro-kim さんの言う通りの結果になってしまいました。
CGIを良く理解しないまま、質問してしまいました。
すみません(__)ペコリ

ようするに、CGIとASPは、同じ仕事をしているのですね。
(まちがっているかも)

ということは、ADOを使用して
  @Set Conn = Server.CreateObject("ADODB.Connection")
  AConn.Open("データーソース名")
  BSQL文作成
  CConn.BeginTrans
  DConn.Execute(SQL文)
  EConn.CommitTrans
の記述で、OKと言うことでしょうか?
SQL文を直接実行する時は、BeginTrans、CommitTransは必要なしですか?

hiro-kim 1999/10/21(木) 20:41:59
NT 4.0 Option Pack
 オンラインマニュアル
  Microsoft Internet Information Server
   Developer Samples
    ASP Script Examples
     ASP Transaction Services
      Fund Transfer
       VBScript Source (右ペイン上)

B-Cus 1999/10/21(木) 20:45:47
「@ABCDE」全て機種依存文字です。使っちゃだめ。

じゅん 1999/10/22(金) 09:00:02
hiro-kimさん、B-Cusさん、ありがとうございます。

早速、NT4.0 Option Packのオンラインマニュアルを見てみます。

あと、まる数字は、今後使用しないようにします。
他にも機種依存の文字ってありそうですね。
すみませんでした。(__)ペコリ

みんこ 1999/10/22(金) 14:09:38
http://www.ed.kanazawa-u.ac.jp/~iwasaki/Tips/MachDepend.html
機種依存文字のリストざんす。
これで読める文字は基本的に使わない方がよろしいかと。

いや本題とは関係ないんですが。

じゅん 1999/10/22(金) 15:44:19
みんこさん、何から何まで有り難うございました。

じゅん 1999/10/22(金) 15:57:38
忘れていました。

この質問については、解決とさせて頂きます。

有り難うございました。

じゅん 1999/10/22(金) 16:32:29
[[解決]]
あら、解決時のチェックを忘れていました。

[上に] [前に] [次に]