Perlのプログラムからオラクルに接続するには?

[上に] [前に] [次に]
yoshida [E-Mail] 1999/09/21(火) 13:24:08
PerlのプログラムからオラクルDBに接続してセレクトのsqlを実行し、
処理結果をHTMLで表示させたいのですが、PerlでオラクルDBの接続
の仕方がわかりません。
どういった環境の構築をしたらよいのかということから教えて
いただけると幸いです。よろしくお願いします。
環境:
 DBサーバ Oracle 8
 Webサーバ netscape fasttrackserver
  OS       Win NT 4.0
  Perl     version 5.004_02

hiro-kim 1999/09/21(火) 13:55:30
ODBC接続でもかまわないのならば。

ActivePerl
http://www.activestate.com/ActivePerl/

をインストールすると各種パッケージのインストールも済んでいて,
\Perl\site\lib\Win32\Test.pl
に Win32::ODBCパッケージを使ったCGIプログラムのサンプルが置いてあります。

ソースプログラムを見ても動作が理解できない/詳細が知りたい場合は,付属のHTML英文リファレンスマニュアルを調べればよいでしょう。

ふじ 1999/09/21(火) 14:18:41
DBI と DBD-Oracle を使うという手も。
モジュールは Active Perl なら PPM で入手できます。

http://member.nifty.ne.jp/hippo2000/perltips/index.htm
こちらに日本語訳があります。

yoshida [E-Mail] 1999/09/22(水) 11:56:59
hiro-kimさん、ふじさん
レスありがとうございます。

DBI と DBD-Oracle を使うやり方で実現しようと思います。

ですが、DBI と DBD-Oracle を使うための
モジュールは、どれを使えばよいのか
はたまた、インストールの仕方がわかりませんで困っています。
http://member.nifty.ne.jp/hippo2000/perltips/index.htm
 をよく読めば、わかるのかなぁ?)

http://www.symbolstone.org/technology/perl/DBI/index.html
でダウンロードすればよいでしょうか?

モジュールの入手方法と、インストール方法を
教えていただけたら幸いです。
よろしくお願いします。

あと、PPMとは、何のことですか?

環境:
 DBサーバ Oracle 8
 Webサーバ netscape fasttrackserver
 OS Win NT 4.0
 Perl version 5.004_02

ふじ 1999/09/22(水) 15:37:36
>モジュールの入手方法と、インストール方法
必要なモジュールは
DBD
DBD-Oracle
です。

モジュール自体は CPAN(例 http://www.ring.gr.jp/pub/lang/perl/CPAN/SITES.html
などから入手できるのですが、それをインストールするには、確か C コンパイラが必要
だったかと。
私は Windows 上で CPAN から取ってきたモジュールのインストールは
やったことが無いので、詳しくは分かりません。すみません。

UNIX だとアーカイブを展開して
perl Makefile.pl
make
make test
make install
で出来るんですけど。

>あと、PPMとは、何のことですか?
で、私は Windowsでは ActivePerl ( http://www.ActiveState.com/ActivePerl/ )を
使っていて、これには PPM というパッケージ管理ツールが付属しています。
コマンドラインから
ppm
install DBI
等とするだけで(そのモジュールをインストールするのに不足している
モジュールがあればそれもまとめて)インストールしてくれるものです。

上述の http://member.nifty.ne.jp/hippo2000/perltips/index.htm
パッケージのインストール(PPMの使い方)
という項に使い方が載っています。

Windows上で Perl を使うなら ActivePerl のほうがお勧めです。
モジュールもいっぱい付属してるし、インストールも簡単だし、
HTMLのマニュアルも作ってくれるし。

yoshida [E-Mail] 1999/09/22(水) 18:23:25
[[解決]]
Active Perlをインストールし
http://member.nifty.ne.jp/hippo2000/perltips/index.htmから
パッケージのインストールを行い、以下のようなコードで
Oracleに接続できました。ありがとうございました。

use DBI;

#接続(別名oradbにSCOTT/TIGERでログイン)
local $ENV{ORACLE_HOME}='e:\Orant';  #一時的に環境変数を設定してもOK
my $hDb = DBI->connect("dbi:Oracle:ushiserver", "yoshi/yoshi") or die "CONNECT ERROR $DBI::ERRSTR";
#準備
$hSt = $hDb->prepare("SELECT * FROM emp");
#実行
$nRes = $hSt->execute;
#データの取得
while(@aRes = $hSt->fetchrow) {
    print join("\t", @aRes), "\n";      #タブ区切りで出力
}
$hSt->finish;
$hDb->disconnect;

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