OpenOffice.orgをMySQLに接続する
まず、使用するドライバ(コネクタとも呼ぶ)を選ぶ必要がある。MySQLの場合、OpenOffice.orgとMySQLの間でデータをやり取りするためのコネクタが2つある。ODBC Driver for MySQL(Connector/ODBC)とJDBC Driver for MySQL(Connector/J)である。後者はインストールと設定の難易度が低い。Linux、Windows、Mac OS X(NeoOfficeでも動作可能)のどれでも同じ方法で使用が可能だ。ただし、Connector/Jという名前からも察しが付くとおり、Javaをインストールする必要がある。Javaのオープン性に疑問符が付いたのはもう昔のことだが、Javaランタイム環境をインストールし、OpenOffice.orgに追加する作業は避けられない。もう1つ、もっと深刻な問題がConnector/Jにある。OpenOffice.orgのBaseデータベースで使う場合、機能が限定されることだ。たとえば、BaseのGUIを使ってプライマリキーは作成できるものの、このキーにauto_incrementプロパティを割り当てることができない。この制限を迂回するには、組み込みSQLエディタ([ツール] -> [SQL])を使って適切なSQLコマンド(たとえば`ID` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY)を実行し、データベースをビルドする必要がある。または、phpMyAdminやHeidiSQLなどのサードパーティのツールを使ってもよい。
Connector/ODBCにこのような制限はないが、インストールと設定の難易度は高い。また、Linuxで使う場合、MySQLデータベースが同じコンピュータにインストールされているのが最適である。というのも、mysql.sockファイルが特定のディレクトリにあることを前提としてドライバが動作し、そのディレクトリに見つからない場合(つまりリモートデータベースの使用時)に接続の確立に失敗するからである。もちろん、リモートデータベースに接続するように設定することもできるが、この設定にはかなりの知識が要求されるうえ、多くの場合、特にドライバを複数のコンピュータに配置する環境などでは、苦労が報われないことも少なくない。
目安としては、LinuxまたはMac OS Xを使っていて、SQLを使いこなせるスキルがあるかサードパーティ製のツールを使ってデータベースを編集できる場合は、Connector/Jを最初に試すとよいだろう。MySQLがインストールされたWindowsまたはLinuxコンピュータを使っている場合は、Connector/ODBCをお勧めする。
Connector/Jの使用
JDBC Driver for MySQL(Connector/J)を使うには、まずMySQLのWebサイトからこのドライバをダウンロードし、ファイルを解凍し、生成されたmysql-connector-java-x.x.x-bin.jarファイルを適切な場所(ホームディレクトリなど)に移動する。OpenOffice.orgで、[ツール]、[オプション]、[Java]の順に選択する。Javaランタイム環境が適切に選択されていることを確認し、[Class Path]ボタンをクリックする。次に、[アーカイブを追加]ボタンをクリックし、mysql-connector-java-x.x.x-bin.jarを選択する。[OK]をクリックして設定を保存し、ウィンドウを閉じ、OpenOffice.orgを再起動する。
これで、OpenOffice.orgをMySQLデータベースに接続する準備は完了だ。OpenOffice.orgで、[新規作成]、[Database]の順に選択する。表示されるDatabase Wizardで、[Connect to an existing database(既存のデータベースに接続)]オプションを選択し、ドロップダウンリストから[MySQL]を選択して[Next]をクリックする。[Connect using JDBC (Java Database Connectivity)(JDBCを使って接続)]オプションを選択し、[Next]をクリックする。データベース名とサーバアドレスをそれぞれのフィールドに入力する。MySQL JDBCドライバが正常に動作することを確認するため、[Test Class]ボタンをクリックする。ドライバの読み込みが正常に終わった後で、[Next]をクリックする。データベース・ユーザ名を[User name]フィールドに入力する。パスワードがあるユーザ名の場合は、[Password required(パスワード必須)]チェックボックスをオンにする。正常に動作することを確認するため、[Test Connection]ボタンをクリックする。[Next]をクリックし、[Yes, register the database for me(現在のユーザにデータベースを登録)]オプションを選択し、[Finish]をクリックする。データベースに名前を付けて、保存する。
UbuntuでConnector/ODBCを使用する場合
Connector/Jが動作すれば、それで結構。しかし動作しないようであれば、Connector/ODBCを試す番だ。このドライバの設定方法は、LinuxとWindowsでやや異なる。最初にLinux(具体的にはUbuntu)で試してみよう。
まず、必要なパッケージをインストールする。Synapticを起動し、unixodbc、libmyodbc、unixodbc-binの各パッケージにインストールのマークを付ける。最後に挙げたパッケージにはGUIツールが含まれていて、これを使ってMySQLデータベースへのODBC接続を設定できる。これにより、設定ファイルを開いてこまごまと値を指定しなくても済む。
sudo ODBCConfig
コマンドを実行してODBC設定ツールを起動する。[System DNS]タブをクリックし、[Add]ボタンをクリックする。[Add]をもう一度クリックして新しいODBCドライバを作成する。表示される[Driver Properties]ウィンドウで、新しいドライバの名前と説明をそれぞれのフィールドに入力する。libmyodbc.soファイルへのパス(/usr/lib/odbc/libmyodbc.so)を[Driver]フィールドに入力し、libodbcmyS.soファイルヘのパス(/usr/lib/odbc/libodbcmyS.so)を[Setup]フィールドに入力する(ここでは32ビットバージョンのUbuntuを使用すると仮定)。すべての入力が終わった状態が右の図である。[Save and Exit]ボタンをクリックして設定を保存し、[OK]をクリックして[Data Source Properties]ウィンドウを開く。新しいデータソースの名前と説明を入力し、MySQLサーバアドレス、データベース名、ポートを指定する。[OK]をクリックすれば、設定は完了である。
作成した接続を使ってOpenOffice.orgをMySQLデータベースに接続するには、Database Wizardで必要なオプションを選択する必要がある。OpenOffice.orgで、[新規作成]、[Database]の順に選択する。Database Wizardで、[Connect to an existing database]オプションを選択し、ドロップダウンリストから[MySQL]を選択し、[Next]をクリックする。[Connect using ODBC(Open Database Connectivity)(ODBCを使って接続)]オプションを選択し、[Next]をクリックする。[Browse]ボタンをクリックして、作成したODBC接続を選択する。[Next]をクリックし、データベースユーザ名を[User name]フィールドに入力する。パスワードのあるユーザ名であれば、[Password required]チェックボックスをオンにする。正常に動作することを確認するため、[Test Connection]ボタンをクリックする。[Next]をクリックし、[Yes, register the database for me]オプションを選択し、[Finish]をクリックする。データベースに名前を付けて、保存する。
OOoをWindowsで使用している場合は、ODBC Driver for MySQL (Connector/ODBC)をダウンロードし、ファイルを解凍し、セットアッププログラムを実行する。[コントロールパネル]の[管理ツール]を表示し、[データソース(ODBC)]をダブルクリックする。[ユーザDSN]タブをクリックし、[追加]ボタンをクリックする。使用可能なドライバの一覧から[MySQL ODBC Driver]を選択し、[OK]をクリックする。表示されるConnector/ODBCの設定ウィンドウの[Login]セクションで、各フィールドに適切な情報を指定する。[テスト]をクリックして、作成した接続が正常に動作するかを確認する。[OK]をクリックして設定を保存し、ウィンドウを閉じる。OpenOffice.orgで、上記の手順で新規データベースを作成する。
Dmitri Popov氏は、フリーランスのライターで、ロシア、英国、デンマークのコンピュータ雑誌に寄稿している。