11 May 2008

OpenOffice BaseからMySQLサーバに接続 (その1)

OpenOffice 2.3のBaseからMySQLサーバに接続する。

(1) JDBC Driver for MySQL のインストール

JDBC Driver for MySQL (Connector/J) をダウンロード

ダウンロードしたファイル mysql-connector-java-5.1.6.zip をまず、OpenOfficeがインストールされている端末の適当なフォルダに解凍する。

OpenOfficeを起動(CalcでもWriterでも何でもよい)して、ツール メニュー → オプション ダイアログを開き、OpenOffice.org → java を選択する。「クラスパス」ボタンを押し、「アーカイブを追加」ボタンを押し、先ほど解凍したJDBC Driverのjarファイルを指定する。

(2) MySQL側の準備

phpMyAdminなどを用いて、今回接続するDBと、接続に利用するユーザを作成する。

  DB名:test
  ユーザ名:testuser
  パスワード:*****
  ユーザ権限:SELECT, INSERT, UPDATE, DELETE

さらに、(必要であれば)端末からMySQLに接続できるように、iptables設定を修正する。通常、tcp/3306ポートを開けてやればよい。

(3) OpenOffice Base の設定

OpenOffice Baseを起動すると、データベース作成・読み込みの設定ダイアログが表示される

20080511-ooo-mysql01.png
「既存のデータベースに接続」、「MySQL」を選択

20080511-ooo-mysql02.png
「JDBCを使って接続」を選択

20080511-ooo-mysql03.png
データベースの名前:「test」、サーバURL:「192.168.1.xxx」とサーバのIPアドレス指定、ポート番号:「3306」(デフォルトのまま)。
「テストクラス」ボタンを押して接続が確認されればOK。

20080511-ooo-mysql04.png
ユーザ名:「testuser」を設定し、「テスト接続」ボタンを押す。

20080511-ooo-mysql05.png
パスワード入力画面が出るので、MySQLのtestuserのパスワードを入力する。
接続が確認されればOK。

ここまで行うと、通常のDBの画面が表示される。 ためしに、テストのため作成しておいたテーブルを表示する。

20080511-ooo-mysql06.png
テーブルの編集画面。

キー項目の設定画面になっているが、「AUTO_INCREMENT」の設定が出来ないのは、JDBC Driverの制限事項らしい… orz
MySQL Connector/ODBCの方をインストールすれば、そういう制限は無いらしいが…