DBIのconnect文の書き方の違いって

[上に] [前に] [次に]
日光 2000/03/16(木) 14:59:33
業務で、Web上からOracleに接続し、結果を取得するために、DBIを使っています。
前任者から引き継いだソースを解析していて、Oracleとの接続部分でよくわからないところがあります。

DBIの説明をしているページなどでConnect文の基本的な書き方と、違うようなのです。
基本的な書き方は、
>$dbh = DBI->connect($data_source, $username, $password)
のようになっているのですが、
前任者のソースでは、
>$dbh = $drh->connect('testdb','testuser','testpass','Oracle');
のようになっています。
この書き方の違いが説明できずに困っています。

どなたかご教授ください。

ちなみに、WebサーバはUNIX環境です。

日光 2000/03/16(木) 15:02:04
付け足しです。

わからないところとしては、connect文の引数です。
説明に書いてあったのは、3つの引数なのですが、「4つもあるっ!!」
というところです。

aqua-J 2000/03/16(木) 16:06:01
わたしも、3つで使ってます。
で、説明できないので、http://member.nifty.ne.jp/hippo2000/perltips/dbimemo.htm
にDBIのチョウ訳が載ってます。
参考になれば。。。

日光 2000/03/16(木) 17:47:19
aqua-Jさん、ありがとうございます。

>http://member.nifty.ne.jp/hippo2000/perltips/dbimemo.htm
は、非常によく参考にさせていただいています。
そこには、
>古いスクリプトとの移植のためにドライバ名を4番目に指定することが出来ます
とありました。
ここまでは、投稿した後に調べることが出来たのですが、新たな疑問が。
引き継いだソースには、OSの違いによって、書き方を変えているのです。
MSWin32の場合は、通常どおり3つなのですが、それ以外だと4つなのです。
しかも、DBIのチョウ訳によると、>4番目の引数は\%attrの代わりに
ということなのですが、そのソースには4番目と\%attrの指定があるのです。

う〜ん、Windows以外は4番目を書かなくてはいけないのでしょうか。

aqua-J 2000/03/16(木) 22:19:46
http://member.nifty.ne.jp/hippo2000/を知っているのなら、
MLに入って質問したほうが、知っている人が多くいるかもしれませんよ。

日光 2000/03/21(火) 13:05:03
[[解決]]
aqua-Jさん、ありがとうございました。
http://member.nifty.ne.jp/hippo2000/のMLに入ってみることにします。

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