LibreOffice BaseからMariaDBへ接続する

LibreOffice Base(以降Base)とMariaDBを接続してみる。接続環境は、Linux mint 20.3 MATE、MariaDB 10.7.3、LibreOffice 7.3.2.2、接続方法はJDBCである。BaseからMariaDBに接続するには、LibreOfficeにドライバファイルを登録する必要がある。ドライバファイルなしに、いきなりBaseを実行しても接続することができないといっていい。まずはドライバファイルを探してダウンロードする。

ドライバファイルのダウンロード

ダウンロードするドライバファイル名は、mariadb-java-client-2.7.5.jarである。下記のサイトからファイルをダウンロードする。

MariaDB公式サイト

MarisDB公式サイト
MarisDB公式サイト

右側にある「DOWNLOAD」をクリックし、ダウンロードページに移動する。ダウンロードページの[Connectors]タブをクリックして、Productをクリックして、リストからJava 8+ connectorを選択する。Versionは3.0.4-GAとなっているが、クリックして2.7.5-GAを選択する。3.0.4-GAでは接続を確立できなかった。

Java 8+ connectorを選択してダウンロード
Java 8+ connectorを選択してダウンロード

下にある[Download]をクリックする。「この種類のファイルはコンピュータに損害を与える可能性があります。」というメッセージが表示されるかもしれないが、問題ないので[保存]をクリックする。ただし、信頼できるサイトからダウンロードする場合は構わないが、信頼できそうにないサイトからはダウンロードするのは避ける。

ドライバファイルの配置

ダウンロードしたら、ファイルの名前を「mariadb-java-client-2.7.5.jar」から「mariadb-java-client.jar」に変更し、適切な場所「/usr/share/java」へ移動する(Linux mintの場合)。

ダウンロードしたファイルがあるディレクトリ内でターミナルを起動して、下記のコマンドを実行する。

sudo mv mariadb-java-client.jar /usr/share/java/

ドライバファイルの登録

LibreOfficeを起動して上部メニュー「ツール」から「オプション(O)…」を選択する。なお、起動するのはWriterでもCalcでも構わない。

LibreOffice
LibreOffice

詳細オプションの設定

オプション画面が開いたら、[詳細]をクリックして、「Javaオプション」の[クラスパス(C)…]をクリック、[アーカイブを追加(A)…]をクリックして、配置したドライバファイルを選択する。最後に[OK]をクリックする。

ドライバの登録
ドライバの登録

LibreOffice Baseオプションの設定

この設定をしなくとも接続できるようである。とりあえずではあるが念の為に設定しておく。

「接続」をクリック、「ドライバーを使って接続を保持する(B)」にチェックを入れ、一覧から「com.sun.star.comp.sdbc.JDBCDriver」を選択して、「このドライバーで接続を保持する(A)」にチェックを入れて[適用]をクリック、[OK]をクリックする。LibreOfficeの再起動を求められるので再起動する。

接続ドライバータイプの設定
接続ドライバータイプの設定

Baseの接続設定

Baseを起動する前に、必ずデータベースファイルを作成しておく。Baseでは、DBeaverのようにデータベースファイルを作成することはできない。今回は接続テストのため、前記事「DBeaver入門(2) – サンプルデータベースの作成」で作成したbooksdbを使用する。作成していなくとも、Mariadbをターミナルから起動して、同じ名前の空のデータベースを作成しておけばよい。

create database booksdb;

Baseを起動する。ウィザード形式で接続設定をしていく。

データベースの選択

データベースの選択では、「既存のデータベースに接続(X)」にチェックを入れ、「MySQL」を選択して[次へ(N) >]をクリックする。

接続ドライバータイプの設定
接続ドライバータイプの設定

MySQL 接続セットアップ

「JDBC(Java Database Connectivity)を使って接続(C)」にチェックが入っていることを確認して、[次へ(N) >]をクリックする。

MySQL 接続セットアップ
MySQL 接続セットアップ

JDBC 接続セットアップ

データベース名に「booksdb」、サーバー名に「localhost」を入力する。

接続情報を入力
接続情報を入力

ここで[テストクラス(T)]をクリックして、ドライバが正しく読み込まれているかどうか確認することができる。

接続確認
接続確認

ユーザー認証のセットアップ

ユーザー名に「root」を入力する。rootにパスワードを設定している場合は、「パスワードを要求する(Q)」にチェックを入れる。[接続テスト(T)]をクリックする。

ユーザー認証
ユーザー認証
設定したパスワードを入力
設定したパスワードを入力

設定してあるパスワードを入力して[OK]をクリックする。下記のポップアップが表示されれば接続完了である。

接続OK
接続OK

接続情報の保存

設定した情報を保存しておこう。今回は登録のみにした。Baseを実行してテーブルを操作したい場合は、「データベースを開いて編集します(A)」、併せて新しくテーブルを作成する場合は「テーブルウィザードを使ってテーブルを作成します(B)」にチェックを入れておく。最後に[完了(F)]をクリックする。

保存するファイル名を聞かれるので、適当な名前で保存する。ここでは、「booksdb.odf」とした。次回からは保存した「booksdb.odf」をダブルクリックするか、ファイル名上で右クリックして、表示されるコンテキストメニューから「LibreOffice Baseで開く(O)」を選択すればよい。

LibreOffice Base
LibreOffice Base