徒然ぶろぐ - Peaceful Wind

アクセスカウンタ

zoom RSS DBD-Pg を ppm でインストールする方法

<<   作成日時 : 2005/08/25 22:26   >>

ブログ気持玉 0 / トラックバック 0 / コメント 3

Windows上でPerlを使っていますが、最近、バイトでリレーショナルデータベース(RDB)を使うことになりました。

とりあえず試しに、自分のマシンにMySQLを入れ、テストしようとしたのですが、いろいろとうまくいかず、バイト先でPostgreSQLを使うことになったこともあって、結局はPostgreSQLを入れることになりました。

DBIモジュール


さて、perlからDBを利用する際には、DBIモジュールが便利です。
DBIは、それの下請けとなるDBDモジュールとともに用いられ、単一のスクリプトで多くのデータベースに対応させることができます。

例えば、PostgreSQLにDBD::Pgモジュールでアクセするときは以下のようになります。
ここで、DBはローカルにデフォルトポートでインストールし、test_dbというデータベースがあるとします。
ユーザーは$user、パスワードは $passに入っているものとします。


$hdb = DBI->connect("dbi:Pg:dbname=test_db;
host=localhost;port=5432",
$user,$pass,
{PrintError=>1, AutoCommit=>1});
$hdb->do('create table (
user_no int int,
user_id varchar(64),
password varchar(128) ');
$hdb->disconnect;


このようなスクリプトで新たなテーブルを作ることができます。
これをMySQLに対して行う場合は、Pg を mysqlにし、ポートやユーザー名、パスワードを変更するだけです。


CPANとPPM


Perlのモジュールは、CPANを利用することで簡単に手に入ります。

モジュールの中には、単に.pmファイルをコピーだけすれば使えるものもありますが、
ほとんどは、配布されるソースをコンパイルしなければなりません。
そのために、ダウンロード、展開、Makefileの作成、コンパイル、コピーをする必要があるのですが、
これら一連の動作を一手に引き受けてくれるのがCPANです。
最初の設定さえこなせば、検索やインストールが、コマンド一つでできます。
とはいえ、その設定は結構面倒なのですが^^;

この設定が面倒ならば、Windows版のPerlであるActive Perlには、PPMという仕組みが用意されています。
簡単に言えば、Windowsに特化したCPANといったところでしょうか。
PPMではコンパイル済みのモジュールが複雑な設定なしに簡単に手に入ります。


DBDのインストール


ここからが本題。(前置きが長すぎました^^;)

上記の通り、必要になってDBIやDBDをインストールしようとしたのです。
PPMよりもCPANの方が登録されているモジュール数が多いので、ますはCPANを起動し、
cpan>install DBI

これでCPANでのDBIモジュールのインストールは簡単にできました。
ですが、同様に DBD::mysql や DBD::Pg をインストールしようとしたら、なぜか失敗するのです。

幸いにも、DBD::mysql はPPMで配布されていたので、PPMを起動し、
PPM> install DBD-mysql
で難なくインストール可能。

しかし、PPMには DBD-Pg が存在しないのです。(2005/08/04 現在)
そこで、以下にDBD-PgをPPMでインストールする方法を解説します。

http://crazyinsomniac.perlmonk.org/perl/ppm/5.8/
にある、
DBD-Pg.ppd
DBD-Pg-1.32.tar.gz
をダウンロードし、同じディレクトリに格納。
コンソールでそのディレクトリに移動し、
ppm install DBD-Pg.ppd
と打てばインストールされます。

ちなみに、
ppm install http://crazyinsomniac.perlmonk.org/perl/ppm/5.8/DBD-Pg.ppd
でも出来るらしいです。


[2006/01/06 追記]
perlmonk.orgのサーバーがダウンしているようです。
探してみましたが、代替となるURLがありません。
http://search.cpan.org/src/DBDPG/DBD-Pg-1.43/README.win32
にwin32でのインストール方法(開発環境がない人には面倒かもしれない)がありますので、あきらめてCPANでインストールするしかなさそうです。
# ppdファイルを持ってはいるのですが、勝手に再配布するのはまずい、よね。


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(3件)

内 容 ニックネーム/日時
大変参考になりました
通りすがり
2005/10/13 19:54
今でもネットワークでインストールする方法がありますよ。
http://mizushima.ne.jp/PostgreSQL.php
こちらでどうぞ。
koko
2006/02/23 00:48
kokoさん、情報提供ありがとうございます。

カナダのウィニペグ大学のサーバーですか。
CPANのミラーもやっているのですね。
本家のCPANにはppd版へのリンクがないのに、ウィニペグ大学のミラーにはある……。この辺、CPANの仕組みよくわからないです。単なるミラーではないようで。

彩夜
2006/02/24 08:43

コメントする help

ニックネーム
本 文
DBD-Pg を ppm でインストールする方法 徒然ぶろぐ - Peaceful Wind/BIGLOBEウェブリブログ
文字サイズ:       閉じる