ZopeX3のZMIで遊ぶ(2)
データベース (PostgreSQL) への接続と 'SQL Script' の作成をしてみました。 上は、このサイトの BBS から最新記事を抽出した時の画面です。 Zopeメモを参考にしました。
先に psycopg を pythonにインストールした後、
$ cd ${zope-instance}/lib/python $ svn co svn://svn.zope.org/repos/main/psycopgda/trunk psycopgda $ cp psycopgda/psycopg-configure.zcml ../../etc/package-includes $ ${zope-instance}/bin/runzopePsycopgDA (PostgreSQL の DB アダプタ) をインストールし、 ZopeX3 をリスタートします。 これで PsycopgDA が使えるようになってるはずです。 試してみたところ 'SQL Script' の実行まではうまくいきました。 当初、検索結果に日本語が入ると Zope エラーになってましたが、 python の default encoding を utf-8 で初期化することで 解決 しました。
ZMI で [Manage Site] → [Tools] → [Database Adaptor] と選択し、 [Add] ボタンをクリックすると下記画面が現れます。
Psycopg DA をチェックし、 [Add] ボタンをクリックすると DSN 入力画面になります。 書式は ${zope3-source}/lib/python/zope/app/rdb/__init__.py の中に、
dbi://dbname dbi://dbname;param1=value... dbi://user:passwd/dbname dbi://user:passwd/dbname;param1=value... dbi://user:passwd@host:port/dbname dbi://user:passwd@host:port/dbname;param1=value...とありました。うまく接続できると、ここで SQL のテストができます。
DB に接続できることを確認したら、 'SQL Script' を作ります。
Script 作成後 [Add] ボタンを押せば、ここでもテストができます。
テストの実行結果 (成功例)
エラーになった場合は [Errors] タグをクリックすると履歴が表示されます。 さらに Exception の下のリンクをクリックすると、 エラートレースも表示されます。 親切な作りになってると思います。
以下、現時点での勝手な感想です。無知は御容赦ください。
- cvs から subversion へ世の中変わった。
- ZMI はかなり使い易くなったようだ。
- ZopeX3 のタイムスタンプが時々へんかもしれない。