Perl+DBD::SQLiteで、データベースプログラミング環境構築

Windows環境で、Perlでデータベースを使った開発を行える環境を構築したので、手順をまとめます。

データベースにも色々とありますが、今回はCPANのDBD::SQLiteを導入しました。
DBD::SQLiteを選択した理由は、以下の通りです。

  • DBMSを別途インストールする必要が無く、モジュールをインストールすればそれだけでRDBの機能が使えるのでお手軽。
  • Yahoo!ジオシティーズでも、DBD::SQLiteが使える。

ここでは、Perlは、Cygwinと一緒にインストールできるものを利用します。Windows環境では、ActivePerlを使う前提での情報が多いのですが、せっかくCygwinperlが入っているのにActivePerlをインストールするのはしゃくだったので。Cygwinのインストールについては説明しませんので、Cygwinがまだ入っていない場合はActivePerlを使った方が早いかもしれません。

では、以下手順です。


CPANを利用するためにFTPクライアントが必要となるので、Cygwinにncftpを追加インストールします。

Cygwinのsetup.exeを再度実行するとモジュールの追加インストールも出来るので、ncftpを追加でインストールして下さい。
Cygwinのサイトはこちら


CPANをシェルモードで起動します。

コマンドラインから、"perl -MCPAN -e shell"というコマンドを入力してください。

bash-3.2$ perl -MCPAN -e shell

ここで、初回起動時であれば対話形式での各種設定が起動するはずです。
とりあえず、流れに沿って設定を行ってください。私の場合は、全て規定値のままで設定を行いました。
(後で各種設定をやり直したい場合は、CPANをシェルモードで起動してから、o conf initと入力すると、再度設定をやり直すことが出来ます。)


Config.pmを編集します。

CPANのサイトは混雑していることが多いので、URLの設定の部分をミラーサーバーに書き換えます。
/usr/lib/perl5/5.8/CPAN/ディレクトリ(Perlのバージョンによってはパスが少し異なります)の、Config.pmをエディタで開き、urllistの部分に、http://www.cpan.org/SITES.htmlにある好きなサーバーを記載します。

'urllist' => [qftp://ftp.nara.wide.ad.jp/pub/CPAN/],

これを編集しないと、サーバーが混雑しているため、"cannot open ftp.perl.org: remote host closed control connection."というエラーが出てしまうことがあります。


まずは、DBIモジュールをインストールします。

CPANをシェルモードで起動し、"install DBI"を実行します。

cpan> install DBI

インストール中は大量のメッセージが表示されますが、最後に"/usr/bin/make install -- OK"と表示されればOKです。


いよいよ、DBB::SQLiteをインストールします。

"install DBD::SQLite"を実行する。。。と言いたいところですが、私の環境(Windows XP)ではインストール中の自動テストでエラーになってしまってインストールできませんでした。

 仕方が無いので、1つ前のバージョン(1.13)を指定してインストールしました。

install M/MS/MSERGEANT/DBD-SQLite-1.13.tar.gz

 (何でこういった書き方で前のバージョンをインストールできるかは、http://vlog.blog32.fc2.com/blog-entry-111.htmlを参照しました)
このバージョンでは、問題なくインストールできました。


以上になります。
DBD::SQLiteの最新バージョン(1.14)がインストールできなかったのが気持ち悪いですが、しょうがないですね。
ちなみに、DBD::SQLite2もインストールを試みたのですが、失敗しました。こちらも、1つ前のバージョンだったらうまくいったのかもしれませんが(未確認)、まだバージョンが若い(0.33)ので、やはりDBD::SQLiteにしておきました。