なんとなく。
Fedora Core 6 上で Perl スクリプトを実行して Firebird にアクセスしてみたいと思った。
まず、DBI をインストールする。
DBI 自体は Fedora Core 6 の標準パッケージにある。
yum でインストールしよう。
[root@localhost ~]# yum -y install perl-DBI(enter)
~略~
Installed: perl-DBI.i386 0:1.52-1.fc6
Complete!
さて、DBIをインストールしただけでは Firebird にアクセスできない。
Firebird 用の DBD をインストールしてあげる必要がある。
Firebird 用の DBD は yum で簡単インストール♪ とはいかない。
以下のサイトから dbi-interbase をダウンロードする必要がある。
http://sourceforge.net/project/showfiles.php?group_id=8563&package_id=8696
※ここにある DBD-InterBase-0.46.tar.gz をダウンロード。
DBD-InterBase-0.46.tar.gz をダウンロードしたら...
解凍して make して make install するワケですが。
make までは一般ユーザーでやる。
[user@localhost ~]$ tar -zxvf DBD-InterBase-0.46.tar.gz(enter)
~略~
DBD-InterBase-0.46/t/InterBase.dbtest
DBD-InterBase-0.46/t/40numrows.t
DBD-InterBase-0.46/t/00base.t
解凍したディレクトリに移動。
[user@localhost ~]$ cd DBD-InterBase-0.46(enter)
さて、make の準備をする。
解凍したフォルダにある Makefile.PL を実行するワケですが...
これの実行には以下の情報が必要になる。
1. Firebird の bin ディレクトリ
※rpm からインストールしている場合は /opt/firebird/bin
2. Firebird の include ディレクトリ
※rpm から(略) /opt/firebird/include
3. Firebird の lib ディレクトリ
※rpm(略) /opt/firebird/lib
4. 接続テスト用データベースのフルパス
※employee.fdb でいいんじゃない?
※rpm からインストールしている場合は /opt/firebird/examples/employee.fdb
5. 接続テスト用データベースへアクセス可能なDBアカウント
※SYSDBAでいいんじゃない?
さて、この 5 つを準備したら Makefile.PL を実行します。
[user@localhost DBD-InterBase-0.46]$ perl Makefile.PL(enter)
InterBase/Firebird bin directory : [/opt/firebird/bin] (bin ディレクトリ)(enter)
InterBase/Firebird include directory : [/opt/firebird/include] (include ディレクトリ)(enter)
InterBase/Firebird lib directory : [/opt/firebird/lib] (lib ディレクトリ)(enter)
Full path to your test database: (接続テスト用データベースのフルパス)(enter)
(接続テスト用データベースのフルパス) exists.
Trying to use an existing database..
Please enter a username to connect.
Username : (DBユーザー名)(enter)
Password : (パスワード)(enter)
Checking if your kit is complete...
Looks good
Using DBI 1.52 (for perl 5.008008 on i386-linux-thread-multi) installed in /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/
Writing Makefile for DBD::InterBase
こんな感じになったら成功!
さて、make 。
[user@localhost DBD-InterBase-0.46]$ make(enter)
~略~
chmod 755 blib/arch/auto/DBD/InterBase/InterBase.so
cp InterBase.bs blib/arch/auto/DBD/InterBase/InterBase.bs
chmod 644 blib/arch/auto/DBD/InterBase/InterBase.bs
Manifying blib/man3/DBD::InterBase.3pm
これで make 成功(たぶん)。
途中、警告がずらずら出てきますが... とりあえず僕の環境ではちゃんと動きましたよ。
で、make が成功したら su して make install です。
[user@localhost DBD-InterBase-0.46]$ su(enter)
パスワード(P):(パスワード)(enter)
[root@localhost DBD-InterBase-0.46]#
(root で make install)
[root@localhost DBD-InterBase-0.46]# make install(enter)
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Writing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/InterBase/.packlist
Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod
これで完了。
DBI の使い方はググればぞろぞろ出てくるのでここでは説明しない。
あ、そう。
日本語の文字コード変換が必要な場合は Jcode をインストールするのがいいかと。
[root@localhost ~]# yum -y install perl-Jcode(enter)
~略~
Installed: perl-Jcode.noarch 0:2.06-1.fc6
Complete!
以上、PHP とは関係ないけど、Firebird 関連ってことで。
最近のコメント