ShowTable of Contents
OpenNTF.org で公開されている XPages Extension Library には、XPages から JDBC ドライバを利用してリレーショナルデータ
ベースにアクセスするための仕組みも提供しています。この記事では、XPages Extension Library に含まれる XPages
Relational Database Support デモアプリケーション (XPagesJDBC.nsf) を使用し、リレーショナルデータベースのデータを XPages で表示するま
での手順を説明します。また、サンプルとして作成されたデータベースのデータを SQL で確認する手段も説明します。
デモアプリケーションでは Java で実装された リレーショナルデータベースである Apache Derby を使用します。
XPages Extension Library の導入
XPages Relational Database Support デモ (XPagesJDBC.nsf) を利用するにあたり、Domino または Domino Designer に XPages
Extension Library を導入します。デモアプリケーションは Domino サーバー上でも動きますが、Domino Designer の「Web ブラウザでのプレビュー」でも使用できます。
XPages Extension Library のインストールの方法については、
XPages Relational Database Support デモ (XPagesJDBC.nsf) の使用
XPages Extension Library のインストールが終わり、Domino や Domino Designer を再起動したら、デモアプリケーションを導入します。XPages Extension Library のパッケージに含まれる XPagesJDBC.nsf を Domino のデータフォルダーか、Domino Designer (Notes) のデータフォルダにコピーします。コピーした NSF ファイルを Domino 管理クライアントや Domino Designer で開き、適切な Notes ID で設計に署名をしてください。
署名された NSF の「JDBC_Home」XPage を Domino Designer で開き、「Web ブラウザでプリビュー」でブラウザから開きます。
このデモアプリケーションでは、Apache Derby のリレーショナルデータベースをローカルに作成し、JDBC ドライバで接続してサンプルのデータを作成し、参照します。初期状態ではデータベースが作成されていないので、まず右上の「Setup」ボタンを押してデータベースを作成します。

セットアップ画面では、まだデータベースへの接続も初期化もできていません。
「Test Connection」ボタンをクリックしてデータベースへの接続を行います。最初の接続ではデータベースは存在しないので、データベースの作成から行います。次に「Initialize Database」ボタンをクリックしてデモ用の初期データを作成します。
これで準備完了です。左側のメニューを選択し、さまざまな XPages の画面でリレーショナルデータベースのデータを参照することができます。
デモアプリケーションでは、Java で簡単に利用できる Apache Derby のデータベースを使用しました。実際に作成された Derby のデータベースを確認します。
Domino Designer のメニューから「ウィンドウ」→「Eclipse ビューの表示」→「パッケージ・エクスプローラー」を選択してパッケージエクスプローラーを表示します。パッケージエクスプローラーでは Domino Designer では通常表示されない内部ファイルなどを見ることができます。パッケージエクスプローラーで「XPagesJDBC.nsf」→「WebContent」→「WEB-INF」→「jdbc」にある derby1.jdbc を開きます。ここには以下のような内容が記載されており、この内容をもとにデモアプリケーションでは JDBC の接続をしています。
<jdbc>
<driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
<url>jdbc:derby:${rcp.data}\derby\XPagesJDBC;create=true</url>
<user>phil</user>
<password>phil</password>
</jdbc>
接続する JDBC の URL は jdbc:derby:${rcp.data}\derby\XPagesJDBC;create=true となっています。ここで${rcp.data} は XPages の動作環境である Domino のワークスペースをさしており、実行時に {{C:\Program Files\Lotus\Domino\Data\domino\workspace}} などがセットされます。デモアプリケーションの動作確認後に、このフォルダーを開くと「derby」フォルダが追加され、その下に「XPagesJDBC」というリレーショナルデータベースが作成されていることが確認できます。
Apache Derby に付属のコマンドライン型の SQL 実行ツール「ij」で、デモアプリケーションのデータを直接参照しましょう。
この SQL 実行ツールは、Java SE に含まれています。なお、この記事の執筆では Oracle Java SE7(JDK 1.7) を使用し、Windows OS のC:\Program Files\Java\jdk1.7.0_04 にインストールして動作確認をしました。
Java の実行プログラムである java.exe にパスが通っていることを確認し、以下のコマンドを実行して ij を起動します。
>
set DERBY_PATH=C:\Program Files\Java\jdk1.7.0_04\db
> set CLASSPATH=%DERBY_PATH%\lib\derby.jar;%DERBY_PATH%\lib\derbytools.jar;.
> java org.apache.derby.tools.ij
ij が起動したら、以下のようなコマンドでリレーショナルデータベースに接続し、データの確認をします。
ij> connect 'jdbc:derby:C:\Lotus\Domino\Data\domino\workspace\derby\XPagesJDBC';
ij>
ij> show tables;
TABLE_SCHEM |TABLE_NAME |REMARKS
------------------------------------------------------------------------
SYS |SYSALIASES |
SYS |SYSCHECKS |
SYS |SYSCOLPERMS |
SYS |SYSCOLUMNS |
SYS |SYSCONGLOMERATES |
SYS |SYSCONSTRAINTS |
SYS |SYSDEPENDS |
SYS |SYSFILES |
SYS |SYSFOREIGNKEYS |
SYS |SYSKEYS |
SYS |SYSROLES |
SYS |SYSROUTINEPERMS |
SYS |SYSSCHEMAS |
SYS |SYSSTATEMENTS |
SYS |SYSSTATISTICS |
SYS |SYSTABLEPERMS |
SYS |SYSTABLES |
SYS |SYSTRIGGERS |
SYS |SYSVIEWS |
SYSIBM |SYSDUMMY1 |
PHIL |STATES |
PHIL |USERS |
22 行が選択されました
ij> select * from phil.states;
S&|LABEL
-------------------------------------------------------------------
AL|ALABAMA
AK|ALASKA
AS|AMERICAN SAMOA
AZ|ARIZONA
AR|ARKANSAS
CA|CALIFORNIA
CO|COLORADO
CT|CONNECTICUT
DE|DELAWARE
DC|DISTRICT OF COLUMBIA
FM|FEDERATED STATES OF MICRONESIA
FL|FLORIDA
GA|GEORGIA
GU|GUAM
HI|HAWAII
ID|IDAHO
IL|ILLINOIS
IN|INDIANA
IA|IOWA
KS|KANSAS
KY|KENTUCKY
LA|LOUISIANA
ME|MAINE
MH|MARSHALL ISLANDS
MD|MARYLAND
MA|MASSACHUSETTS
MI|MICHIGAN
MN|MINNESOTA
MS|MISSISSIPPI
MO|MISSOURI
MT|MONTANA
NE|NEBRASKA
NV|NEVADA
NH|NEW HAMPSHIRE
NJ|NEW JERSEY
NM|NEW MEXICO
NY|NEW YORK
NC|NORTH CAROLINA
ND|NORTH DAKOTA
MP|NORTHERN MARIANA ISLANDS
OH|OHIO
OK|OKLAHOMA
OR|OREGON
PW|PALAU
PA|PENNSYLVANIA
PR|PUERTO RICO
RI|RHODE ISLAND
SC|SOUTH CAROLINA
SD|SOUTH DAKOTA
TN|TENNESSEE
TX|TEXAS
UT|UTAH
VT|VERMONT
VI|VIRGIN ISLANDS
VA|VIRGINIA
WA|WASHINGTON
WV|WEST VIRGINIA
WI|WISCONSIN
WY|WYOMING
59 行が選択されました
ij>
ij> exit;