サンのロゴ

 

 
 

Sun[tm] ONE Application Server 7
データベースとの接続の設定
前へ 開始 次へ

 

挨拶文をデータベースに記録するときに、サンプルアプリケーションでは Java[tm] Database Connectivity (JDBC[tm]) API を使っています。この項では、サンプルアプリケーションの配備と実行の前に、アプリケーションサーバー環境に JDBC 関連の設定を定義する方法について説明します。

JDBC の設定には、JDBC ドライバの設定、JDBC 接続プールの設定、およびアプリケーションが使用する JDBC リソースの登録が含まれます。このマニュアルで使用するサンプルアプリケーションのデフォルトの設定では、データベースとして PointBase Server が使われます。PointBase Server は、どの Sun ONE Application Server 7 製品にも含まれています。ただし、Solaris 9 のインストールと同時にインストールしたアプリケーションサーバーには PointBase Server は含まれません。アプリケーションサーバーのインストールディレクトリに <appserver_install_dir>/pointbase/ というディレクトリが存在すれば、PointBase Server はすでにインストールされているので、次に説明する手順に従って JDBC 接続プールとリソースオブジェクトを定義できます。

アプリケーションサーバーのインストールに PointBase Server が含まれていないときは、「JDBC 接続プールとリソースの設定手順」に進む前に、「PointBase のインストールと設定」 の手順に従って PointBase Server 環境を設定する必要があります。Solaris 9 と同時にインストールされたアプリケーションサーバーを使用する場合は、PointBase のインストールと設定の手順に従ってください。

  1. JDBC ドライバの設定
  2. JDBC 接続プールの定義
  3. JDBC リソースの定義
  4. PointBase データベースの起動


1. JDBC ドライバの設定

JDBC を利用するアプリケーションを使用するには、事前にアプリケーションサーバーのクラスパスに JDBC ドライバを設定しておく必要があります。

アプリケーションサーバーと PointBase を同時にインストールした場合や、PointBase のインストール時に設定が完了している場合など、アプリケーションサーバーインスタンスの環境にすでに PointBase Type 4 JDBC ドライバが設定されているのであれば、JDBC ドライバの設定手順を実行する必要はありません。

情報アイコンクラスパスに JDBC ドライバを追加 : PointBase 以外のデータベースでアプリケーションサーバーを実行するときは、管理コンソールを使用すると、JDBC ドライバをアプリケーションサーバーのクラスパスに簡単に追加できます。

1. コンソールを開いてサーバーインスタンスのノードを選択し、「JVM 設定」タブの「パス設定」タブを開きます。

2. 「パス設定」タブでは、適切な JDBC ドライバに合わせて「クラスパスのサフィックス」の設定を .zip ファイルまたは .jar ファイルに変更します。Type 2 ドライバを使用するときは、適切なネイティブライブラリに合わせて「ネイティブライブラリのパスサフィックス」の設定を変更します。

3. 変更を保存し、サーバーインスタンスの「一般」タブに戻ります。

4. 「変更の適用」をクリックし、アプリケーションサーバーを再起動して変更を有効にします。

Type 4 ドライバのアーカイブを次のディレクトリにコピーしても設定できます。

<domain_config_dir>/domain1/server1/lib/

インスタンスの lib ディレクトリに含まれるすべての Java ライブラリは、サーバーインスタンスを再起動したときにサーバーのクラスパスの最後に自動的に追加されます。


情報アイコン設定済みの PointBase データベース :サンプルアプリケーションがどのように PointBase を利用しているかについては、サンプルアプリケーションのマニュアルを参照してください。


2. JDBC 接続プールの定義

サンプルアプリケーションを実行する前に、適切な JDBC 接続プールを定義する必要があります。この接続プールは、PointBase データベースサーバーと、サンプルアプリケーションで作成される JDBC 参照を接続プールの定義に関連付ける JDBC リソースにマッピングされます。

情報アイコンサーバーインスタンスの設定 : J2EE アプリケーションが利用するリソース、およびその他のサーバーの設定は、server.xml というファイルに記録されます。このファイルは、次のディレクトリに保存されています。

<domain_config_dir>/domain1/server1/config/

このファイルの内容を手動で変更することもできますが、管理コンソールまたは asadmin コマンド行ユーティリティを通じて別のユーザーがファイルの内容を更新している可能性もあるので注意してください。server.xml ファイルの内容を手動で変更したときは、アプリケーションサーバーインスタンスを再起動して変更を適用する必要があります。

1. Web ブラウザから管理コンソールにアクセスします。アプリケーションサーバーが稼動していないときは、起動する必要があります。

2. アプリケーションサーバーインスタンス「server1」を展開して JDBC ノードを表示します。「接続プール」ノードをクリックし、「新規」をクリックして新しい接続プールを定義します。

JDBC 接続プール

3. 接続プールの新規作成ウィザードの最初の画面に次の情報を入力し、「次」ボタンをクリックします。

フィールド
「名前」

PointBasePool

Database Vendor Pointbase 4.2 を選択

JDBC 接続プールの新規作成

4. 次の画面が表示されます。

JDBC 接続プールの新規作成

5. 下方向にスクロールして「プロパティ」を表示し、次の値を指定します。

プロパティ
user

jdbc

password jdbc

dataBaseName

jdbc:pointbase:server://localhost/sun-appserv-samples

警告アイコン接続プールのプロパティとその他のデータベースの使用 : PointBase Server は「dataBaseName」プロパティに対応していますが、このプロパティに対応していないデータベースもあります。たとえば、Oracle RDBMS では、JDBC ドライバが Oracle RDBMS に接続するときに「URL」プロパティを使って URL を指定しています。具体的にどのプロパティに対応しているかを確認するには、JDBC ドライバのマニュアルを参照してください。 サンプルアプリケーションで Oracle JDBC ドライバを使う例については、「Oracle Type 4 JDBC ドライバの使用」の注を参照してください。

これ以外の不要プロパティが表示されるときは、そのプロパティの左に表示されるチェックボックスを選択してから「削除」ボタンをクリックして削除します。

JDBC 接続プールのプロパティの設定

6. 「完了」ボタンをクリックしてウィザードを終了します。JDBC 接続プールウィザードを使ってサーバーの設定に変更を加えても、管理サーバーはアクティブな設定が変更されていないものとして認識します。このため、変更の適用が必要であることを示す警告アイコンが管理コンソールに表示されます。

変更を適用する前に、次の手順に進んでサンプルアプリケーションの JDBC リソースを定義します。 JDBC リソースを定義したら、接続プールと JDBC リソースの変更を同時に適用します。

変更の適用の通知

3. JDBC リソースの定義

JDBC 接続プールの定義を作成できたので、次に JDBC リソースを定義して接続プールのエントリと関連付けます。

1. 「JDBC」ノードの下の 「JDBC リソース」ノードを選択し、「新規...」をクリックして新しいリソースエントリを定義します。

    JDBC リソース

2. サンプル Web アプリケーションの sun-web.xml ファイルは、リソースの JNDI 名を「jdbc/jdbc-simple」として認識します。したがって、JDBC リソースにはこの JNDI 名を定義する必要があります。

各フィールドの次の値を設定し、「了解」ボタンをクリックしてリソースを定義します。

フィールド
「JNDI 名」

jdbc/jdbc-simple

「プール名」 PointBasePool を選択

JDBC リソースの新規作成

3. JDBC 接続プールとサンプルアプリケーションのリソースの両方を定義できました。次に、変更を適用してアプリケーションサーバーのインスタンスに認識させます。

3a. ウィンドウ右上の「変更の適用が必要です」リンクをクリックして、JDBC 接続プールとリソースの変更を適用します。

変更の適用

3b.変更が適用されたことを示すメッセージが表示されます。 この場合、サーバーインスタンスを再起動する必要はありません。

情報アイコン変更の適用時の処理 : JDBC 接続プールやリソースなどのオブジェクトを新たに定義したり、これらのオブジェクトに変更を加えたりすると、アプリケーションサーバーインスタンスの設定領域にあるバックアップディレクトリ内の server.xml ファイルに設定情報が保存されます。次に例を示します。

<domain_config_dir>/domain1/server1/config/backup/server.xml

さらに変更を加えて保存すると、バックアップ領域内の server.xml ファイルも更新されます。

適用前の変更をアプリケーションサーバーのインスタンスに認識させるには、「変更の適用」をクリックしてバックアップ領域内の server.xml ファイルを次のような通常の設定ディレクトリに強制的にコピーする必要があります。

<domain_config_dir>/domain1/server1/config/server.xml

設定ディレクトリに適用した変更の一部はアプリケーションサーバーインスタンスによって直ちに認識されますが、それ以外の変更を認識させるにはサーバーインスタンスを再起動する必要があります。変更の適用にサーバーの再起動が必要な場合は、管理コンソールにメッセージが表示されます。


情報アイコンOracle Type 4 JDBC ドライバの使用 : ほかの RDBMS も簡単に使用できます。

1. 提供される SQL ファイルを使って Oracle RDBMS にテーブルを作成します。

<install_dir>/samples/jdbc/simple/src/sql/jdbc-simple-ora.sql

2. 次のいずれかの方法で Oracle Type 4 ドライバをサーバーのクラスパスに追加します。

a) アプリケーションサーバーインスタンスの lib/ ディレクトリにドライバライブラリをドロップします。

<domain_config_dir>/domain1/server1/lib/

このディレクトリに含まれるすべてのライブラリは、再起動時にサーバーのクラスパスの最後に自動的に追加されます。

b) アプリケーションサーバーインスタンスの 「JVM 設定」 -> 「パス設定」を開き、「クラスパスのサフィックス」にドライバライブラリを追加します。

3. Oracle Type 4 ドライバ用の JDBC 接続プールオブジェクトを作成します。

Datasource Classname = oracle.jdbc.pool.OracleDataSource

接続プールのプロパティは次のとおりです。

プロパティ
URL

jdbc:oracle:thin:@$ORACLE_SERVER:1521:$ORACLE_SID

対象となるデータベースに合わせて $ORACLE_SERVER と $ORACLE_SID を適切な値に置き換える必要があります。次に例を示します。

jdbc:oracle:thin:@localhost:1521:orcl

ユーザー $USER (使用するデータベースに合わせて設定)
パスワード $PASSWORD (使用するデータベースに合わせて設定)

4. JDBC リソース「jdbc/jdbc-simple」を PointBasePool 接続プールから新たに定義した Oracle 接続プールにマッピングし直します。

5. 変更を適用し、アプリケーションサーバーを再起動します。

6. アプリケーションを実行し直します。


4. PointBase Server データベースの起動

サンプルアプリケーションを実行する前に、PointBase Server データベースを起動する必要があります。

アプリケーションサーバーをほかのユーザーと共用している場合、または PointBase がインストールされている領域に対する書き込み権がシステムユーザー ID に割り当てられていない場合は (たとえば、UNIX システムのルートユーザーがアプリケーション サーバーをインストールしたときは、ルートユーザー以外の ID に書き込み権が与えられていないことがある)、事前に構築されている PointBase データベースと PointBase Server の起動スクリプトの専用コピーを作成する必要があります。

PointBase をほかのユーザーと共有しない場合は、「PointBase Server の起動」に進んでください。

データベースの専用コピーの作成

PointBase Server の専用コピーを作成する手順は次のとおりです。

1. 書き込み権のあるディレクトリの下に「pointbase/」という名前のディレクトリを作成します。

2. すでに内容が設定されている PointBase データベースのファイルをサンプルアプリケーションのインストールディレクトリから専用の PointBase ディレクトリにコピーします。

内容が設定されているデータベースのファイルを PointBase の専用インストールにコピーするには、次のディレクトリに含まれるファイルをコピーします。

<appserver_install_dir>/samples/pointbase/databases/*

次のディレクトリにコピーします。

<personal_pointbase_dir>/pointbase/databases/

これにより、sun-appserv-samples$1.wal および sun-appserv-samples.dbn というファイルが専用の PointBase ディレクトリにコピーされます。

3. 次のファイルを PointBase のインストールディレクトリから <personal_pointbase_dir>/pointbase/ にコピーします。

ファイル コメント

StartServer.sh または StartServer.bat

PointBase Server が待機するポートの番号を記録した起動スクリプト
pointbase.ini データベースファイルの場所を指定した初期化ファイル

アプリケーションサーバーのインストール時に PointBase をインストールした場合は、これらのファイルは次のディレクトリに保存されています。

<appserver_install_dir>/pointbase/server/

評価バージョンの PointBase をダウンロードしてインストールした場合は、これらのファイルは次のディレクトリに保存されています。

<pointbase_install_dir>/tools/server/

4. スクリプトファイル StartServer.sh または StartServer.bat を編集し、実行中の他の PointBase Server と重複しないポートの番号を設定します。

警告アイコンデフォルト以外のポート番号の使用 : PointBase Server が待機するポートの番号をデフォルト値の 9092 から変更するときは、それに合わせて JDBC 接続プールのプロパティも変更する必要があります。この変更を加えないと、アプリケーションサーバーが PointBase Server の専用コピーにアクセスできません。

JDBC 接続プールに設定されている dataBaseName プロパティを次のように変更します。

jdbc:pointbase:server://localhost/sun-appserv-samples

次のように変更します。

jdbc:pointbase:server://localhost:<port>/sun-appserv-samples

<port> は、StartServer スクリプトに設定されているポート番号です。

dataBaseName プロパティにポート番号を追加する手順は次のとおりです。

1. アプリケーションサーバーの管理コンソールを開いて PointBasePool のノードを選びます。

2. 下方向にスクロールして「プロパティ」ボタンをクリックし、接続プールのプロパティを編集します。

3. dataBaseName プロパティの値を適切なポート番号に変更し、「了解」をクリックして変更を保存します。

4. 変更を適用してアプリケーションサーバーのインスタンスを再起動し、接続プールに加えた変更を認識させます。

これで、専用ディレクトリから PointBase Server を起動できるようになります。

PointBase Server の起動

データベースサーバーは、次のいずれかの方法で簡単に起動できます。

Windows 環境:

アプリケーションサーバーのインストール時に PointBase をインストールした場合

「スタート」 -> 「プログラム」 -> 「Sun Microsystems」 -> 「Sun ONE Application Server 7」 -> 「Start PointBase」

ダウンロードした PointBase を個別にインストールした場合

<pointbase_install_dir>/tools/server/startserver.bat を実行

UNIX 環境:

アプリケーションサーバーのインストール時に PointBase をインストールした場合

<appserver_install_dir>/pointbase/server/StartServer.sh を実行

ダウンロードした PointBase を個別にインストールした場合

<pointbase_install_dir>/tools/server/startserver.sh を実行

この起動スクリプトを実行すると、コマンドウィンドウまたは UNIX の端末プロンプトに次のメッセージが表示されます。

    Server started, listening on port 9092, display level: 0 ...
    >

情報アイコンコンソールウィンドウの必要性 : UNIX 環境で PointBase Server をバックグラウンドで実行するには、StartServer.sh スクリプトを編集し、コマンド行の最後に /noconsole オプションを追加します。

.../java -classpath ./lib/pbserver42RE.jar com.pointbase.net.netServer /port:9092 /noconsole

サーバーをバックグラウンドで実行するには、StartServer.sh コマンドの末尾に「&」を追加します。

./StartServer.sh &
[1] 26418

サーバーの起動と停止の詳細については、次のディレクトリに保存されている PointBase Server のマニュアルを参照してください。

<pointbase_install_dir>/docs/

「サンプルアプリケーションの配備と実行」に進んで、アプリケーションを実行します。

PointBase Server のインストールと設定

Solaris 9 のインストール時にアプリケーションサーバーを同時にインストールした場合、またはアプリケーションサーバーのインストール時にインストールするコンポーネントとして PointBase を選択しなかった場合は、PointBase はインストールされません。

PointBase がインストールされ、サンプルアプリケーションで使用できるように設定されているかどうかを調べるには、次のディレクトリでアプリケーションサーバーのインストールを確認します。

<appserver_install_dir>/pointbase/

このディレクトリが存在するときは、アプリケーションサーバーのインストール時に PointBase のインストールも完了しています。 このマニュアル冒頭のデータベースの設定手順 に戻ってデータベースの設定を続けてください。

PointBase をインストールし、サンプルアプリケーションで使用できるように設定する手順は次のとおりです。

  1. PointBase Server と Client のダウンロードとインストール
  2. PointBase データベースのサンプルファイルのコピー
  3. アプリケーションサーバーのクラスパスに PointBase Type 4 JDBC[tm] ドライバを追加

1. PointBase Server と Client のダウンロードとインストール

http://www.pointbase.com にアクセスし、評価バージョンの PointBase をダウンロードします。

PointBase Server と Client をシステムにインストールします。 PointBase Client には PointBase Type 4 JDBC ドライバが含まれます。

2. PointBase データベースのサンプルファイルのコピー

Sun ONE Application Server 7 には、サンプルアプリケーション用に事前に内容が設定された PointBase データベースのファイルが含まれています。PointBase をほかのユーザーと共有しない場合は、このデータベースファイルをサンプルのディレクトリから PointBase のインストールディレクトリにコピーする必要があります。

PointBase をほかのユーザーと共有する場合は、後述する方法で専用の PointBase 実行時環境を作成する必要があります。 この場合、次の手順に従って PointBase JDBC ドライバをアプリケーションサーバーのクラスパスに追加します。

内容が設定されているデータベースのファイルを PointBase の専用インストールにコピーするには、次のディレクトリに含まれるファイルをコピーします。

<appserver_install_dir>/samples/pointbase/databases/*

次のディレクトリにコピーします。

<pointbase_install_dir>/databases/

これにより、sun-appserv-samples$1.wal および sun-appserv-samples.dbn というファイルが PointBase のインストールディレクトリにコピーされます。

3. アプリケーションサーバーのクラスパスに PointBase Type 4 JDBC ドライバを追加

PointBase Type 4 JDBC ドライバを PointBase のインストールディレクトリからアプリケーションサーバーインスタンスの lib/ ディレクトリにコピーします。次に例を示します。

.../domains/domain1/server1/lib/

JDBC ドライバは、<pointbase_install_dir>/lib/ というディレクトリにあります。 ドライバの名前は pbclientnn.jar で、nn は PointBase のバージョンを表します。

アプリケーションサーバーを再起動してドライバを認識させます。

アプリケーションサーバー側の設定で、「クラスパスのサフィックス」フィールドに PointBase ドライバの場所を指定することもできます。管理コンソールを開いてアプリケーションサーバーインスタンスの「JVM 設定」 -> 「パス設定」を表示し、変更を加えます。「クラスパスのサフィックス」フィールドに PointBase JDBC ドライバがすでに設定されているときは、新たにインストールしたドライバへのパスに変更します。「クラスパスのサフィックス」フィールドの設定を変更したら、変更を適用し、アプリケーションサーバーのインスタンスを再起動します。

これで PointBase のインストールと設定が完了しました。「データベースの設定手順」に戻ってデータベースの設定を続けてください。

前へ 開始 次へ