データベースサーバーへ接続するためのパソコンへLibreOfficeのインストールが済めば、いよいよアプリケーションからMadiaDBへの接続です。
クライアントPCでアプリケーションを実行する前にJDBCドライバをアプリケーションに設定しておくことにします。
※コネクターのバージョンについては記事下に記載しています。
MySQLコネクターのダウンロード
MySQLのJDBCコネクターはダウンロードサイトからインストーラをダウンロードすることで入手できます。
このインストーラを使った方法では当ページへ記載している従来の方法でLibreOfficeへ設定するのが難しいため、アーカイブページからバージョンを指定してのダウンロードしたほうが分かりやすいかと思います。
アーカイブページ:https://downloads.mysql.com/archives/c-j/
インストーラDL:https://dev.mysql.com/downloads/connector/j/
※JDBCコネクターはJAVAの実行環境が必要になりますので、PCに実行環境がない場合はJREなどをダウンロードしてインストールしておきます。
CalcでJDBC接続の設定
設定だけの作業はBaseより同じLibreOfficeのCalcを使った方が操作がスムーズで簡単にできます。
この設定はBaseに対してだけでなくLibreOfficeに行う設定と考えた方が理解しやすいでしょう(機能を使うのはBase)。
クラスパスの登録
LibreOfficeのCalcを起動させ「ツール」から「オプション」を選択します。
オプションの左メニューで「LibreOffice-詳細」を指定し、右の「クラスパス」ボタンをクリックします。
このとき中央にはインストールしたJavaソフトウェアのバージョンが表示されているはずです。
クラスパスの設定のところでは「アーカイブを追加」をクリック。
アーカイブの選択でダウンロードしたMySQLコネクタ(指定したバージョンは5.1.47)を指定して読み込みます。
※画像ではファイル名に「-bin」が付加されているもの(拡張子.jarは非表示mysql-connector-java-5.x.x-bin.jar)を使っていますが、-binが入らないmysql-connector-java-5.x.x.jarの方でも動作します。
接続に使うドライバの選択(コネクションプール)
クラスパスの登録が済めば、続いて左メニューから「LibreOfficeBase-接続」を選択します。
「ドライバーを使って接続を保持する」にチェックを入れ「‥MySQL.Driver」を指定。
ここでは「org.openoffice.comp.drivers.MySQL.Driver」を指定していますが、その後LinuxにインストールしたLibreOfficeではcom.sun.star.comp.sdbc.JDBCDriverへ設定しないと接続できませんでした。
上手く動作しないといはcom.sun.star.comp.sdbc.JDBCDriver(上から2番目)で試しても良いかもしれません。
下の「このドライバーで接続を保持する」にもチェックをして「OK」を押せば設定が完了です。
これで実際に運用してみたところ60秒を過ぎたからといって再度接続パスワードの入力が必要という訳ではないようです。
以上でCalcでの作業は終了です。
この設定が済めばBaseでデータベースへの接続が可能な状態になっているはずです。
JDBCコネクタのバージョンについて
当記事ではサーバーにインストールしているDBMSがMariaDBなので、MariaDBの公式からダウンロードしたコネクタを使うなど他にもデータを読み込む手段として選択が可能ですが、LibreOfficeBaseからデータベースへ接続でききるものの指定したデータベース以外にもMariaDBにある全てのデータベースにアクセスできてしまう不具合(LibreOfficeの仕様?)があるようです。
アクセスするユーザーごとに権限を変更するなどすれば、他のデータベースは読み込めなくできそうですが理想的な運用方法ではありません。
他のデータベースまで表示してしまう現象はMySQLのコネクタ最新バージョン8.0.32(記事更新時2023年2月現在)でも同様でした。
Windows版のLibreOfficeBaseだけなのか全ての環境でそうなのか不明ですが、当記事の説明画像と同じ5.x.xの古いバージョンでは指定したデータベースだけにアクセスできています。
参考 MySQL Connector/J (Archived Versions)MySQL Community Downloads古いバージョンのコネクターはMySQLダウンロードサイトのアーカイブページからバージョンを指定してダウンロードが可能のようです。
おすすめ記事
LibreOffice BaseでMariaDBへJDBC接続【Windows編】 クライアントからSQLデータベースを閲覧操作するLibreOfficeBaseをインストール