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なら,
|
を実行するだけで導入できる。
接続用のドライバを導入
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」を付けて実行する。
|
|
「all deployed user packages:」以下に「
「<none>」ではなく,「Name: postgresql-sdbc-0.6.2.zip」などと,古いバージョンのドライバが表示された場合は,これを削除する。unopkgコマンドに,removeオプションとファイル名を指定し,
|
のように実行する(ここではバージョン0.6.2がインストールされているものとした)。これで,古いバージョンのドライバが削除される。
(3)ドライバの導入
最新のドライバをインストールする。unopkgコマンドにaddオプションを付け,最新ドライバのファイル名を,保存先ディレクトリを含めたフルパスで指定し,
|
のように実行する。これでドライバがインストールされる。