Apache::Session::Store::Oracle モジュール

by Hippo2000(2000/8/8)

日本語チョウ訳シリーズ Apache::Session::Store::Oracleモジュールなのです。



名前

Apache::Session::Store::Oracle - Oracleデータベースに永続データを格納する


概要

 use Apache::Session::Store::Oracle;

 my $store = new Apache::Session::Store::Oracle;

 $store->insert($ref);
 $store->update($ref);
 $store->materialize($ref);
 $store->remove($ref);

説明

Apache::Session::Store::OracleはApacheの格納インターフェースを完全に満たします。セッション・データはOracleデータベースに格納されます。


スキーマ

このモジュールを使うために、'sessions'というテーブルに少なくともこれらのカラムが必要です:

 id varchar2(32)     # またはセッションIDの長さ分
 a_session long

このスキーマを作成するために、sqlplusプログラムを使って以下のコマンドを実行することが出来ます:

 CREATE TABLE sessions (
    id varchar2(32) not null primary key,
    a_session long
 );

もし他のコマンドを使うのであれば、テーブルのIDカラムにユニークなインデックスを作るのを忘れないで下さい。


コンフィグレーション

このモジュールはデータベースに接続するときに使われるデータソース、ユーザ名、パスワードを知る必要があります。これらの値はオプションのハッシュ(Apache::Sessionドキュメントをご覧下さい)を使って設定することが出来ます。そのオプションはDataSource, UserName, そしてPasswordです。

例:

 tie %hash, 'Apache::Session::Oracle', $id, {
     DataSource => 'dbi:Oracle:database',
     UserName   => 'database_user',
     Password   => 'K00l'
 };

 

代りに既にデータベースにオープンされているDBIハンドルを渡すことが出来ます:

 tie %hash, 'Apache::Session::Oracle', $id, {
     Handle => $dbh
 };

最後のオプションはLongReadLenです、これはセッション・オブジェクトの最大サイズを指定します。指定されなければ、デフォルトの最大サイズは8KBです。


作者

(原文のまま)

This modules was written by Jeffrey William Baker <jwbaker@acm.org>

A fix for the commit policy was contributed by Michael Schout <mschout@gkg.net>


参考資料

Apache::Session, Apache::Session::Store::DBI


ホーム Perlの小技 Apache::Session

ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。