絖綛 N@i.jp  昨日:00051295
 今日:00016604
 総計:00236466
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:07/03 19:28


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

MovableType 3.0 (その4)

Perl拡張モジュールのDBI,DBDに挑戦。


> さて、次は MySQL の DBI, DBD 拡張モジュールのインストールに
> 挑戦してみたい。実は、これ会社の環境(sun:Solaris 8)ではどう
> してもうまくいかず挫けたのだ。

 と言うことで、Perlからデータベースアクセスするための拡張モジュール DBI (DataBase Interface) と DBD::MySQL (DataBase Driver) のインストールに挑戦してみた。これらは Perl の拡張モジュールで、ともに CPAN から入手することができる。2004.08.27現在の最新版は、

  • DBI - Ver.1.43 (DBI-1.43.tar.gz)
  • DBD::MySQL - Ver.2.9004 (DBD-mysql-2.9004.tar.gz)
だった。DBD は MySQL以外にも各種のデータベースに対応した物があり、これがデータベースアクセスの差異を吸収しており、DBI を介して Perlに対して API を提供する形になっている。この構造のため Perlスクリプトからはデータベースが何であるかを全く意識することなく、スクリプトのソースを修正しなくても各種データベースを扱うことが可能になる。(まぁ我々も「アダプタ」とか称して良くやる手法である。)

 Perl拡張モジュールのビルド方法には決まった作法があって、殆どは

$ perl Makefile.PL
$ make
$ make test
$ sudo make install
で良く、実際 DBI はこの方法で問題ない。しかし、DBD::MySQL を MacOS-X にインストールする場合は若干様子が異なるようで、インストール方法は(英語だが)[tw] Articles >> Mac OS X >> How to Install DBD::mysql on Mac OS X 10.3 (Panther) が参考になる。多くのサイトでは DBD::MySQL を MacOS-X (Panther) にインストールする方法として DBI と同じ方法を紹介しているが、私の経験では間違いなく失敗する。

 さて、DBI, DBDのインストール作業の手順だ。

  1. CPAN から DBI, DBD をダウンロードする。(検索すれば、すぐ見つかるだろう。)
  2. ダウンロードしたファイルを解凍する。以下のディレクリが作成されるはず。
    • DBI-1.43
    • DBD-mysql-2.9004
  3. 先に DBI からインストールする。DBI-1.43 ディレクトリへ移動(cd)する。
  4. このビルド方法は通常の Perlモジュールと同じ。
    
    $ perl Makefile.PL
    $ make
    $ make test
    $ sudo make install
    
    ロケールに関する警告メッセージが多くでて鬱陶しい場合は、上の作業の前に
    
    $ LANG=C
    
    とでもしておくと良いだろう。
  5. DBD::MySQL に取り掛かる。DBD-mysql-2.9004 ディレクトリへ移動(cd)する。
  6. ビルドのために "/usr/local/mysql/bin/" にある "mysql_config" を使うので、"/usr/local/mysql/bin/" に PATH を通しておく。
    
    $ export PATH=$PATH:/usr/local/mysql/bin
    
  7. Makefile を作成する。
    
    $ perl Makefile.PL --testdb=test --testuser=root --testpassword=root_password --testhost=localhost
    $ perl -pi -e's/MACOSX/env MACOSX/' Makefile
    
    --testdb=testオプションは動作確認に使うMySQLのデータベース名だが、MySQLをインストールした時点で test というデータベースが作られていると思うので、これを使うようにしている。--testuser=root --testpassword=root_password は MySQLのルートユーザとそのパスワードである。こうして作成された Makefile を少々手直し(MACOSX という文字列の前に "env " を付加しているようだ)してから実際のビルドに移る。
  8. ビルドして、動作確認する。
    
    $ make
    $ make test
    
    テストは残念ながら私の場合100% OK とはいかなかった。が、少々のエラーは問題ないようだ。ここは強行突破(^_^;)。
  9. インストールする。
    
    $ sudo make install
    
  10. MovableType の環境確認の CGI "http://www.your-site.com/movabletype/mt-check.cgi" にアクセスしてみる。
      Checking for  Data Storage Modules:
    DBD::mysql
    Your server has DBD::mysql installed (version 2.9004).
    と表示されていたら取り敢えず大丈夫であろう。


< 過去の記事 [ 8月の Blog リスト ] 新しい記事 >

2004 calendar
8月
1234567
891011121314
15161718192021
22232425262728
293031


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.