2006/01/30
Perlモジュールをさくっと使う ~DBI~
初投稿です。Perlモジュールを必要なときにさくっと使って楽をしようということが目的です。
技術的に深入りはしないことがもっとーです。更新が途絶えるといけないので。
今回はローカルのデータベースに接続するためにDBIを使います。
http://search.cpan.org/search?query=DBI&mode=all
DBIはデータベースにアクセスするためのAPIで,データベースの種類に依存しないインタフェースを提供します.
今回はPostgreSQLを使用しましたがDBMSの基本構造を知らなくても、DBIによって定義されているAPIによってデータベースにアクセスできるので汎用性が高まります。
「DBI->connect()」部分を変えれば対応している他のDB にも接続できます。
use DBI;
$db_name = 'mydb'; //データベース名
$my_table = 'mytable'; //テーブル名
my $conn = DBI->connect("dbi:Pg:dbname=$db_name") || die "Can't connect: $DBI::errstr";
//データベースとコネクションを結ぶ.以降DBとのやり取りは,ディスクリプタ$connを介して行う
$conn -> do("select * from $my_table");
$conn -> do ...
プログラム中でDBのエラーがあるとメッセージを表示して残りの処理を続けます。
エラー例:
DBD::Pg::db do failed: ERROR: update or delete on
"テーブル1" violates foreign key constraint "参照先キー名"
on "テーブル2" at db_connect.pl line 69.
// テーブル2で参照されている、テーブル1のデータは,削除できない
DBI編はさくっと以上です。何か面白いモジュールを知っているとかありましたらコメントお願いします。調べてしまうかもしれません。
- Category(s)
- Perl-module
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/HI/perl30e230e530fc30eb30923055304f306330684f7f3046-dbi/tbping
- ¦
- Main
- ¦
- Awstatsの設定メモ