データベースを利用するCGIプログラミング

---- データベースのオープン ----


データベースのオープンは、DBIのconnectメソッドを用いて記述します。 オープン時には、使用するデータベース管理システムを指定します。 この指定を変えることで Oracle や PostgreSQLなどのそれぞれのデータベースにアクセスすることができます。

下記の記述例は、PostgreSQLのegiデータベースをオープンし、もしエラーが起こった場合はエラーメッセージを表示しプログラムを終了(die)させています。

【記述例】
   $username="egi";
   $dbh = DBI->connect("dbi:Pg:dbname=egi",$username)
        or die "Cannot connect: " , $DBI::errstr;
【形式】
$dbh = DBI->connect("DBDドライバ名とデータベースの指定", "ユーザ名") or die エラーメッセージ;

DBDドライバ名とデータベースの指定
"dbi:Pg:dbname=egi"
PostgreSQL用のドライバ(Pg)を用いて、データベースegiをオープンすることを意味している。
ユーザ名
ここでは、$usernameに格納されているユーザ名egiと指定
エラーメッセージ
"Cannot connect: " , $DBI::errstr;
例えば、データベース名を間違えると以下のように表示され、プログラムが終了する。
[egi@myouga]$ perl cgi40.pl
DBI->connect failed: FATAL 1:  Database ego does not exist in pg_database
 at cgi40.pl line 5
Cannot connect: FATAL 1:  Database ego does not exist in pg_database
[egi@myouga]$ 
Cannot connect:以下がプログラムによって出力されたメッセージです。


江木鶴子 : egi@ube-c.ac.jp