« LacoocanでperlからSQLiteに接続する(1) | トップページ | YAPC::Asia 2006 Tokyo »

2006.03.27

LacoocanでperlからSQLiteに接続する(2)

perlでDBに接続するだけならばDBIを使ってガリガリとコネクション処理とSQL文を書いていけばいいのだけれども、やっぱりここではO/Rマッパーを使っていきたい。
perlでO/RマッパーといったらClass::DBIなんだけれども、ここはLacoocan。telnetできないから、モジュールのインストールが激しくめんどくさい。Class::DBIは色々と依存関係が強いモジュール群だからさらにめんどくさい。楽したくてO/Rマッパーを使うのだから、やっぱりめんどくさいことはしたくない。
それに、LacoocanでClass::DBIがうまく動くかどうか謎だし。。
ってことで、Class::DBI以外で何か良いperlのO/Rマッパーはないかなぁ、、と思って探していたらBenjamin Trott / Data-ObjectDriver-0.02 - search.cpan.orgというのを発見。制作者は、Benjamin Trottってことで、そう、Movable TypeでつかわれているSixApartが作っているO/RマッパーをCPANで一般向けに公開したものだ。
うおー、MTのO/Rマッパー使いたいけどライセンス的にNGだよなぁって思って残念がっていたところなんだよねー。SixApart最高〜、ってことで、早速使わせて貰うことにする。
と思ったけど、まったくドキュメントが書いていねぇ…。ちょっとMTのソースコードを参考にしてみるかと思ってみたんだけど、なんか微妙に使い方が違う気がする??
ってことで、ソース読んで調べても良いけど、時間短縮のためにGoogleで調べてみる。
発見。
MT::Neko::kak 500 Internal Server Error:Data::ObjectDriverを遊んでみる
(↑、暴想ブックマークで「obj」って検索したら出てきた!便利だ(自己満足)。)

んで、まあ、このサイトの人の通りに書いてみようと思ったんだけど、いくつか疑問点が。
・SQLiteのdsnの設定ってどうやって書けばいいの?
  → dsn => 'dbi:SQLite:/homepage/projects/bookmark/bookmark.db'って書けばよかった。*.dbのファイルパスを書けば良いみたい。

・SQLiteの接続ユーザーIDとパスワードって何!?
 → これは結構焦った。一度も設定した覚えがないからだ。空にして設定したら普通に接続できた。具体的には以下の通り。
username => '',
password => '',

あとは、普通にやって普通にできた。
モジュールの依存関係は2つだけあって、Class::TriggerとClass::Data::Inheritableを追加にインストールした。

んで、早速サンプルアプリケーションとサンプルデータベースを用意してアップロードした。
http://weblog.news.coocan.jp/projects/bookmark/app/db_test.cgi
これは、DBに接続して保存して読み込みしている。

ここまでできればあとの応用はいくらでもきくし、アイデア次第といったところだ。
まあ、所詮Lacoocanなのでスケーラビリティとかスピードとかは限界がミエミエなので、個人専用のツールとしてアイデア勝負で色々とかゆいところにきくアプリケーションを作っていくのが似合っているのだと思う。

↓1日1ポチッとをお願いします!励みになります!
ポチっとよろしく!

|

« LacoocanでperlからSQLiteに接続する(1) | トップページ | YAPC::Asia 2006 Tokyo »

perl」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: LacoocanでperlからSQLiteに接続する(2):

« LacoocanでperlからSQLiteに接続する(1) | トップページ | YAPC::Asia 2006 Tokyo »