[______TOC_______]
[NEXT CHAPTER]
1 PostgreSQL へのアクセス
注意: 現在の toymodel は postgresql 7.1 以降では
うまく動かないようです。理由は off というエントリが
SQL '99 の規格にある予約語とぶつかっているからです。
とりあえずの回避策は
1. postgresql 7.0.x を使う
2. toymodel の off のエントリを他の名前に変える
TODO:
互換性のために現在の toymodel はそのままにし、別途 SQL'99 でも
使えるドライバを用意しようと思います。
1.1 必要なもの
Pg.pm です。DBI 版もあります。一応 toymodel.pl はまだ Pg.pm 版です。
/usr/local/fml/databases/postgresql/Pg_toymodel.pl
/usr/local/fml/databases/postgresql/DBI_toymodel.pl
1.2 config.ph の設定例
ポイントは
$DATABASE_DRIVER
で指定するファイルです。デフォールトでは LDAP のおもちゃのモデル
( 3.0 参照)を使うようになっています。
PostgreSQL の玩具モデルの見本は
/usr/local/fml/databases/postgresql/toymodel.pl
を見て下さい。このファイルには
どのような SQL 文で呼び出すのか
エラー処理はどうするのか
などの泥くさい部分が全て封じ込められています。この toymodel.pl を手本
に自分の使っているスキーマに合わせて定義を書き換えてみてください。
そのファイルを
/var/spool/ml/etc/fml/mysqldriver.pl
などをするとよいでしょう。スキーマの詳細はこの中に封じ込めて下さい。
この場合 config.ph に書くべき項目の見本はこのようになります。
$USE_DATABASE = 1;
$DATABASE_METHOD = 'PostgreSQL';
$SQL_SERVER_HOST = 'postgres.fml.org';
$SQL_SERVER_USER = 'fukachan';
$SQL_DATABASE_NAME = 'fml';
$DATABASE_DRIVER = 'mysqldriver.pl';
1;
もしくは FULL PATH でかいてください。
$DATABASE_DRIVER = '/var/spool/ml/etc/fml/mysqldriver.pl';
1.3 some pointers
http://www.sra.co.jp/people/t-ishii/
ftp://ring.so-net.ne.jp/
ftp://ring.asahi-net.or.jp/
http://member.nifty.ne.jp/hippo2000/
[______TOC_______]
[NEXT CHAPTER]