[pgsql-jp: 26248] Re: Fwd: DB への接続方法

KAWAI,Takanori GCD00051 @ nifty.ne.jp
2002年 6月 3日 (月) 20:21:19 JST


川合孝典です。

----- Original Message -----
From: <ap2g @ mail.goo.ne.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Monday, June 03, 2002 5:44 PM
Subject: [pgsql-jp: 26243] Fwd: DB への接続方法


>
> Forwarded by ap2g
>
> 横山です。書き忘れました。
>
> CGI(Perl)から、PostgreSQLに接続するコーディングをしたいのですが、
> どのように書けば良いのでしょうか?
> サンプルなどがあれば、教えて頂きたいのですが。
> また、サーバ側にインストール、環境設定などは必要なのでしょうか?
まずPerlそのものではPostgreSQLに接続できません。
そのためのモジュールをインストールする必要があります。
DBD::PgはRedHat系LinuxにはRPMがあったり、Windowsであれば
PPMパッケージがあったりします。DBD::ODBCを使ってODBCで
接続することも可能です。PostgreSQLをインストールするさい、
Pgモジュールも一緒に入れることもできるでしょうし、DBD::Pgを
ビルドすることもできます。

「サーバ側」というのがデータベースサーバで、WWWサーバと
別のマシンであれば、Perlだからということに関係なく、他のマシンから
接続するための設定が必要になるでしょう。

コーディング例は利用するモジュールによって違ってきます。
ドキュメントで確認するか、検索すればサンプルだったら
見つかると思います。

[DBD::Pgの例]
use strict;
use DBI;
my $hDb = DBI->connect('dbi:Pg:host=lins;dbname=test',
        'scott', 'tiger', {RaiseError => 1, AutoCommit=>0});
$hDb->commit;
$hDb->do('DELETE FROM TEST');
for(my $i=0;$i<5000;$i++) {
    $hDb->do(qq/INSERT INTO TEST VALUES($i, 'VAL$i')/);
}
$hDb->commit;
my $hSt = $hDb->prepare(
  'SELECT ID, TITLE FROM TEST ORDER BY ID');
$hSt->execute();
my $sLine;
while(my $raData = $hSt->fetchrow_arrayref()) {
    $sLine = join(':', @$raData);
}
$hSt->finish;
$hDb->disconnect;

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr @ cpan.org GCD00051 @ nifty.ne.jp
   http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/
「Perlドキュメント日本語訳」メーリングリストがはじまりました
http://www.freeml.com/ctrl/html/MLInfoForm/perldocjp@freeml.com
===================================================




pgsql-jp メーリングリストの案内