Personal tools
You are here: Home ブログ HI Perlモジュールをさくっと使う ~DBI~
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Categories
覚書
Perl-module
 
Document Actions

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
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.