2回に分けて,オフィス・ソフト「OpenOffice.org」からPostgreSQLを利用する方法を紹介する。今回はOpenOffice.orgに含まれるデータベース・ソフト「OpenOffice.org Base」とPostgreSQLの連携方法を解説する。

 本連載では,第6回までにPostgreSQLの基本的な操作方法を一通り紹介した。今回と次回は,より実用的な使い方を説明する。

 PostgreSQLは一般に,Webアプリケーションや,クライアント/サーバー型アプリケーションで利用される。その場合は,フロンドエンドとなるクライアント側のアプリケーションから,PostgreSQLサーバー内のデータベースを活用する形態となる。

 そこで,フロントエンドのアプリケーションとしてオフィス・ソフト「OpenOffice.org」を動作させ,OpenOffice.orgからPostgreSQLを操作してみよう。

OpenOffice.org Baseの導入

 OpenOffice.orgは,ご存知の方も多いだろうが,ワープロ「OpenOffice.org Writer」(以下,Writer),表計算「同Calc」(以下,Calc),プレゼンテーション「同Impress」,描画「同Draw」,データベース「同Base」(以下,Base)などで構成される,オープンソースの統合オフィス・ソフトだ*1。LinuxやWindows,SolarisといったさまざまなOS上で動作する。また,オフィス・ソフト「Microsoft Office」との互換性が高く,無償で利用できるため,プラットフォームを問わずに多くの利用者が存在する。OpenOffice.orgの一般的な使い方については,関連記事を参照してほしい。

 このOpenOffice.orgと,PostgreSQLを連携させるメリットは多々ある。例を示そう。

 Baseはデータベースにアクセスする際のフォームを簡単に作成できる機能を備える。Baseで使いやすい入力フォームを作成し,そこからPostgreSQLサーバーにアクセスするシステム形態にすることで,物品管理や在庫管理などの業務アプリケーションを手軽に作成できる。

 あるいは,CalcやWriterと連携すれば,各種ドキュメントに顧客データを用いて差し込み印刷をするなど,より多彩な活用方法が考えられる。

 そこで,今回はBaseとPostgreSQLの連携方法を紹介する。なお,BaseはOpenOffice.orgのバージョン2.0から含まれたソフトだ。そのため,事前準備として,PostgreSQLを導入したマシンにOpenOffice.orgのバージョン2.0以降を導入しておく必要がある。ほとんどの最新Linuxディストリビューションでは,OpenOffice.orgのバージョン2.0以降が標準で含まれるので,それを用いればよい。

 インストールの方法は簡単だ。Fedora Core 5や同4なら,


$ su 
# yum -y install openoffice.org-base

を実行するだけで導入できる。

接続用のドライバを導入

 OpenOffice.orgからPostgreSQLに接続する方法はいくつかある。例えば,OpenOffice.orgは,データベースにアクセスするための標準仕様であるODBCやJDBCなどに対応しているため,PostgreSQL用のODBCドライバやJDBCドライバを用意するだけで簡単に接続できる。

 しかし,このような汎用的な方法で接続した場合には,機能が制限されることがある。そのため,PostgreSQLの場合には上記の方法はあまりお勧めできない。

 OpenOffice.orgの開発コミュニティは,OpenOffice.orgとPostgreSQLを接続するための専用ドライバを公開している。これを利用する。この専用ドライバは,Linuxディストリビューションには標準で含まれないことが多い。そのため,別途インストールしよう。

(1)ドライバの入手

 PostgreSQLの専用ドライバ(PostgreSQL SDBC driver)は,「http://dba.openoffice.org/drivers/postgresql/」から入手できる。2006年8月中旬時点の最新版はバージョン0.7.2である。バージョン0.7.2以降なら,PostgreSQLの最新メジャー・バージョンである8.1以降の機能をフルサポートする。必ず,このバージョン以降の新しいものを利用しよう。ダウンロードしたファイル(postgresql-sdbc-0.7.2.zip)は,任意のディレクトリ(ここでは「/tmp」)に保存しておく。

(2)古いドライバの削除

 OpenOffice.orgに古いバージョンのドライバがインストールされていると,最新のドライバが導入できない。念のため,OpenOffice.org付属のunopkgコマンドで,導入されているドライバを確認しよう*2。オプションに「list」を付けて実行する。


$ unopkg list

*2 Fedora Core 5などでは,OpenOffice.orgに関連する実行ファイルは
/usr/lib/openoffice.org2.0/programディレクトリ内に格納されている。
このディレクトリに対してパスが設定されていないため,unopkgコマンドを
発行するには,

$ /usr/lib/openoffice.org2.0/program/unopkg list

のようにフルパスを指定して実行する。

 「all deployed user packages:」以下に「」と表示されると,何もインストールされていない。その場合は以下の手順は不要なので,手順「(3)ドライバの導入」を実施しよう。

 「<none>」ではなく,「Name: postgresql-sdbc-0.6.2.zip」などと,古いバージョンのドライバが表示された場合は,これを削除する。unopkgコマンドに,removeオプションとファイル名を指定し,


$ unopkg remove postgresql-sdbc-0.6.2.zip

のように実行する(ここではバージョン0.6.2がインストールされているものとした)。これで,古いバージョンのドライバが削除される。

(3)ドライバの導入

 最新のドライバをインストールする。unopkgコマンドにaddオプションを付け,最新ドライバのファイル名を,保存先ディレクトリを含めたフルパスで指定し,


$ unopkg add /tmp/postgresql-sdbc-0.7.2.zip

のように実行する。これでドライバがインストールされる。