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ポチッとをお願いします!励みになります!
| 固定リンク
「perl」カテゴリの記事
- cicindelaの簡単な使い方(2009.01.29)
- Cicindelaインストールしようとしたらdaemontoolsがインストールできない(2009.01.29)
- LacoocanでperlからSQLiteに接続する(2)(2006.03.27)
- LacoocanでperlからSQLiteに接続する(1)(2006.03.25)
- 暴想ブックマーク - ver 0.3(2006.03.18)
この記事へのコメントは終了しました。
コメント