JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
■応用の森 LibreOffice Base によるデータベース接続
ひょっとして、LibreOfficeをご存じない方もいるかもしれないので、
ざっくり簡単に説明しておきますと、OpenOffice.orgから派生したフリーウェアーのオフィスソフトです。
詳しいことは、Wikipediaに載っていますので、確認してください。
個人的にはOpenOfficeより使い勝手が好みなので、自宅ではもっぱらLibreOfficeを使っています。
公式URLは、こちらです。
2016年5月末時点のLibreOfficeの最新バージョンは、5.1.3 となります。
ソフトの内容としては、MicrosoftOfficeとだいたい同じで、
文書(Writer==Word)、表計算(Calc==Excel)、プレゼンテーション(Impress==PowerPoint)、
が一通りパッケージされています。
あと、図形描画(Draw)、数式(Math)もありますが、これらはあまり使わないのでよくわかりません。
そして、今回解説する、データベース(Base)が梱包されています。
MicrosoftOfficeで言うところの、Accessに相当するソフトで、
これがフリーで使えるのは大変重宝します。
単体でデータベースを構築することもできますが、
私の場合は、Linux上で動作するPostgreSQLなどをLibreOfficeから接続して参照・更新を行っています。

では、今回はLibreOfficeを使ってPostgreSQLに接続する方法をご紹介します。

 

■LibreOfficeのダウンロード&インストール
 上でリンクされている、公式URLから最新パッケージのダウンロード&インストールを行ってください。
 ダウンロードファイルサイズは、約200MByte強ありますので、それなりに時間がかかります。

 

■LibreOfficeの起動
インストールが完了すると、デスクトップにLibreOfficeのショートカットが現れます。
このショートカットをダブルクリックで起動します。
下のような、LibreOffice起動初期画面が表示されます。

LibreOffice起動
今回の目的は、外部データベースに接続する事なので、
他の機能はほっといて、一番下の、「Baseデータベース」アイコンをクリックします。

 

■データベースウィザード
データベースを作成するための「データベースウィザード」が表示されます。

1)データベースの選択
 今回は、外部のデータベースに接続することが目的なので、
 一番下の、「既存のデータベースに接続」をチェックして、
 セレクトボックスの該当する物を選択します。
 今回の場合は、外部のPostgreSQLに接続するため、これを選択します。

データベースの選択
設定が完了したら、「次へ>>」ボタンをクリックします。

 

2)接続設定
 データベース接続情報を入力します。
 ここの例では、DBのホストが、arimodoki.dip.jp
 DB名は、本編「■SpringMVC の小径 8-2)JDBC接続」で説明した jlabodb とします。
 入力ボックスに「postgresql://arimodoki.dip.jp:5432/jlabodb」を入力。
 もし、PostgreSQLのデフォルトポート5432をそのまま使っている場合はポート番号は省略可能です。
 その場合は、「postgresql://arimodoki.dip.jp/jlabodb」となります。
 もう一つの書き方としては、「dbname=jlabodb host=arimodoki.dip.jp」でも大丈夫です。
 
接続設定
設定が完了したら、「次へ>>」ボタンをクリックします。

 

3)ユーザー認証のセットアップ
接続するデータベースへのログインユーザー名を入力します。
本編「■SpringMVC の小径 8-2)JDBC接続」で説明した例では dbuser となります。
「パスワードを要求する」はチェックを入れてください。
(これをOFFにすると、接続テストで接続エラーになります)
「接続のテスト」を行ってみます。

ユーザー認証
認証ダイアログが表示されるので、パスワードを入力します。

パスワード認証
パスワードを入力して「OK」ボタンをクリックします。
問題なく接続できたら、「接続テスト終了」ダイアログが表示されます。

接続テスト
「OK」ボタンをクリックしてダイアログを終了します。
「ユーザー認証のセットアップ」画面に戻ったら、「次へ>>」ボタンをクリックします。

ユーザー認証

 

4)保存して続行
下の画面の通りにチェックして、「完了」ボタンをクリックします。

保存して続行
保存ダイアログが表示されるので、任意の場所に、任意の名前で保存します。

DBの保存

 

■データベース開始
DBの保存が完了すると、即座にデータベースウィンドウが開きます。
左ペイン「データベース」の「テーブル」を選択すると、下段に「テーブル」の一覧が表示されます。
このうち、infomation_schemaと、pg_catalog はPostgreSQLが管理する情報です。(ユーザには直接関係ない)
肝心なのは、public ツリー下に自分で作成したテーブルが格納されています。

データベース起動
infomation_schemaと、pg_catalog は必要ないので、フィルターで隠してしまいましょう。
「ツール」-「テーブルフィルター」を選択します

データベース起動

 

■テーブルフィルター
画面に表示されたツリーの内、見せたくないリストのチェックボックスをOFFにします。

テーブルフィルター
決定したら、「OK」ボタンをクリックします。

あれ? フィルターしたはずのリストがまだ見えています。おかしいですね??
はい、このままではまだ見えています。
Baseを一旦終了して、再起動しましょう。これで不要なリストは見えなくなっているはずです。

 

■作業レイアウト
下が、フィルターしてすっきりしたレイアウトです。
自分で作成した、tbluser というテーブルだけが見えています。

作業レイアウト
tbluserをマウスでダブルクリックしてみましょう。

テーブルレイアウト
ダブルクリックされたテーブルが開いて、登録内容がリストされました。
カラムを選択すると、直接編集も可能です。

 

これ以外にも、クエリーとか、フォームとか、レポートといった
MicrosoftAccessとほぼ同じ機能が備わっていますが
それらの説明はここでは割愛します。
必要になったら、自分で勉強してください。

 

■※注意) やってはいけないこと!
Baseでやってはいけないことを記しておきます。

Baseウィンドウ
上の様に、「テーブル」ビューでテーブルを選択し、マウス右ボタンクリックで、メニューを表示させ、
「削除」を実行すると、Libre Base テーブルビューからテーブルが無くなります。
しかし、ビューから無くなっただけではなく、データベース本体からもテーブルが消滅してしまいます。
#drop table tablename; を実行したのと同じ状態です。
あな恐ろしや。 なんまいだぶぅ。  気を付けましょう。