Oracle® JDBC for Rdbウォークスルー

リリースV7.2-3

 

部品番号: E06183-01

 

原本名: Oracle JDBC for Rdb Walkthrough

 

2008年5月

 

このトピックでは、Oracle JDBC for Rdbを使用して、Oracle Rdbデータベースに対するBusiness Components for Java(BC4J)プロジェクトを作成する手順について説明します。この作業に関してはいくつかの制限事項があるので注意してください。詳細は、「Limitations of Developing for Foreign Datasources」を参照してください。

このウォークスルーは、次の手順で構成されています。

  1. 要件
  2. JDBCドライバのインストール
  3. サード・パーティ接続のためのJDeveloperの準備
  4. デフォルト・プロジェクト・ライブラリの指定
  5. 新しい接続の作成
  6. ビジネス・コンポーネント・プロジェクトの作成
  7. OC4Jへのデプロイ

要件

このウォークスルーを実行するには、あらかじめ次のものが必要です。

JDBCドライバのインストール

Oracle JDBC for Rdbを使用してOracle Rdbデータベースに対するビジネス・コンポーネント・プロジェクトを開発するには、まず、JDeveloperおよびOC4Jの実行元となるシステムにOracle JDBC for Rdbシン・ドライバをインストールする必要があります。

Oracle JDBC for Rdbドライバのインストール方法の詳細は、RDBJDBC_Readmeファイル(RDBJDBC_Readme.htmlまたはRDBJDBC_Readme.txt)を参照してください。

Oracle JDBC for Rdbシン・ドライバのJarファイルはシステムの任意の場所にインストール可能ですが、このドキュメントの以降の記述では、便宜上、次のインストール場所をサンプルとして使用します。

C:\Program files\Oracle\Rdb\lib

サード・パーティ接続のためのJDeveloperの準備

JDeveloper IDEをサード・パーティ接続に対応できるように準備するには、jdev.confファイルを編集する必要があります。この手順では、JDeveloperを停止する必要があります。そのため、次の内容を最初に印刷しておくことをお薦めします。

JDeveloper IDEをサード・パーティ接続対応にするには、次のようにします。

  1. JDeveloperが稼働している場合は、作業内容を保存してJDeveloperを終了します。
  2. テキスト・エディタで<jdev_install>/jdev/bin/jdev.confを開きます。
    ファイルには、AddJavaLibFileのエントリがたくさん含まれています。
  3. Oracle JDBC for RdbドライバのJarファイルの場所を指定する、新しいAddJavaLibFileエントリを作成します。サンプルの場所を選択した場合、エントリは次のようになります。
    AddJavaLibFile C:/Program files/Oracle/Rdb/lib/rdbThin.jar
    注意: パスにはフォワードスラッシュ(/)を使用してください。
  4. テキスト・エディタでjdev.confを保存します。
  5. -verboseフラグを指定して、コマンドラインからJDeveloperを起動します。この手順は必須ではありませんが、この方法で起動すると、このウォークスルーで説明に使用されているシステム・メッセージが表示されるようになります。

a.      コマンド・プロンプトを開きます。

b.     <jdev_install>/jdev/binディレクトリにナビゲートします。

c.     jdev -verboseと入力します。

これで、JDeveloperがサード・パーティ接続を処理できるように構成されました。次に、今後作成されるプロジェクトにデフォルトで適切なライブラリが含まれるようにする必要があります。

デフォルト・プロジェクト・ライブラリの指定

この手順では、デフォルトのプロジェクト設定に関連ライブラリを追加します。

  1. 「プロジェクト」メニューから「デフォルトのプロジェクト設定」を選択します。
  2. ナビゲーション・ツリーの「構成」「開発」の下で、「ライブラリ」をクリックします。
  3. Rdbネイティブ・シン・ライブラリrdbThin.jarを追加します。

a.      「新規」をクリックします。

b.     「ライブラリ名」フィールドにrdbThinと入力します。

c.     「クラスパス」フィールドの横にある「編集」をクリックします。

d.     「エントリの追加」をクリックします。

e.      Rdbネイティブ・ドライバのインストール・フォルダ(たとえばC:/Program files/Oracle/Rdb/lib/)へナビゲートして、フォルダを開きます。

f.      rdbThin.jarをクリックして強調表示します。

g.     「選択」をクリックします。

h.     「OK」をクリックして各ダイアログを閉じます。

ここまでの作業で、サード・パーティ接続のためのIDEの設定と、適切なライブラリをデフォルトでプロジェクトに追加するための指定が完了しました。次に、接続を作成します。

新しい接続の作成

新しいデータベース接続を作成するには、接続ウィザードを使用します。

新しい接続を作成するには、次のようにします。

  1. JDeveloperの「システム・ナビゲータ」で、「接続」ノードを右クリックして「データベース接続の作成」を選択し、接続ウィザードを起動します。
  2. 「ようこそ」ページが表示されたら、ページ内の情報を確認して「次」をクリックします。
  3. 「タイプ」ページでrdbThinの接続名を入力し、「接続タイプ」ドロップダウン・リストで「サード・パーティJDBCドライバ」を選択します。「次」をクリックします。
  4. 「認証」ページでユーザー名パスワードを入力し、「パスワードを配布」のチェック・ボックスを選択します。「次」をクリックします。
  5. 「接続」ページでJavaクラス名URLを入力します。
    Javaクラス名:
    oracle.rdb.jdbc.rdbThin.Driver
    URL:
    jdbc:rdbThin://<db-host>:1701/<an-Rdb-database-file-specification>

 <an-Rdb-database-file-specification>の箇所には、目的のデータベースを指す標準のVMSファイル指定を入力します。

     たとえば、MYDEMONODEのmydisk:[test]personnelに接続する場合は次のようになります。
             URL: jdbc:rdbThin://mydemonode:1701/mydisk:[test]personnel

  1. 「テスト」ページで「接続のテスト」をクリックします。テストが正常に完了すると、「成功」というステータス・メッセージが表示されます。
    エラー・メッセージが表示された場合は、次の表を参考にするか、またはデータベース管理者に問い合せてください。

エラー・メッセージの内容

考えられる問題

"ドライバが見つかりません"

Javaクラス名のスペルが間違っている

"ソケットの確立時にエラーが発生しました"

マシン名のスペルが間違っている

"適切なドライバが見つかりません"

URLが間違っている

"ログインに失敗しました"

ユーザー名およびパスワードが間違っている

  1. 「終了」をクリックします。

ビジネス・コンポーネント・プロジェクトの作成

以前にOracleデータベースに対するビジネス・コンポーネント・プロジェクトを作成したことがある場合は、ここで実行する手順もそれと似ています。異なるのは、SQL規格としてSQL92、タイプ・マップとしてJavaが選択されていることを確認する必要がある点です。また、このプロジェクトに適切なライブラリが使用されるよう指定する必要があります。

  1. 空の新規プロジェクトを作成します。
  2. 「システム・ナビゲータ」でプロジェクト・ノードを右クリックし、「プロジェクトの設定」を選択します。
  3. ナビゲーション・ツリーの「構成」「開発」の下で、「ライブラリ」をクリックします。
  4. 「使用可能なライブラリ」ペインで「その他のJDBC」を選択し、「選択済のライブラリ」ペインに移動します。
  5. 「OK」をクリックしてダイアログを閉じます。
  6. プロジェクトを右クリックして新規ビジネス・コンポーネントを選択します。
  7. 「接続」ページのドロップダウン・リストから、SQL規格としてSQL92を、タイプ・マップとして「Java」を選択します。「次」をクリックします。
  8. パッケージ名を入力するか、またはデフォルト名を受け入れて、「次」をクリックします。
  9. 「ビジネス・コンポーネント」ページに、データベース内の表のリストが表示されます。表を選択し、「- 選択されたもの」リストに追加します。
  10. 「終了」をクリックします。

OC4Jへのデプロイ

プロジェクトの作成とローカルでのテストが正常に完了したら、そのプロジェクトをOC4Jにデプロイできます。ただし、まず、外部のデータソースと連動するようにOC4Jを構成する必要があります。

外部のデータソースと連動するようにOC4Jを構成するには、次のようにします。

  1. テキスト・エディタで、<OracleHome>/j2ee/home/config/にあるapplication.xml ファイルを編集します。
  2. rdbThin.jarを指定する<library>タグを追加します。構文は、<library path="<path>" />です。
    たとえば、デフォルトのインストール・パスを使用した場合は、application.xmlファイルに次のタグを追加します。

    <library path="C:\Program files\Oracle\Rdb\lib\rdbThin.jar" \>

     固定パス名を使用する場合は、システムに応じて適切なセパレータを使用する必要があります。たとえば、Windowsでは円記号を使用する必要があります。

JDeveloperとRdbThin.jarが同じローカル・ドライブにある場合は、相対パスを使用できます(その場合はフォワードスラッシュを使用します)。たとえば、次のようになります。

<library path="../../../../Program Files/Oracle/Rdb/lib/rdbThin.jar" />

            これらの値が正しく設定されなかった場合は、OC4JコンソールでrdbThinエントリに関するエラーが表示されることになります。

 

また、JDeveloperでOracle接続を使用した状態のまま、外部のデータソースを使用するBC4Jプロジェクトをデプロイすると、デプロイしたプロジェクトに問題が発生する可能性があります。この問題の回避策は次の2つです。

 
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="rdbThinDS"
location="jdbc/rdbThinCoreDS"
xa-location="jdbc/xa/rdbThinXADS"
ejb-location="jdbc/rdbThinDS"
connection-driver="oracle.rdb.jdbc.rdbThin.Driver"
username="<user>"
password="<pass>"
url=jdbc:rdbThin://mydemonode:1701/mydir:personnel
inactivity-timeout="30"
/>

<user>および<pass>の箇所には、データベースへのアクセスに使用する有効なユーザー名とパスワードの組合せを指定します。

 
注意:

rdbThinへのデータベース接続を作成した場合は、JClientまたはJSPのアプリケーションを作成する際に、接続の作成に使用したjdbcドライバ・ライブラリをクライアント・プロジェクトに手動で追加する必要があります。

外部のデータソースに対して作成されたBC4Jプロジェクトは、テストを実行するとライブラリが正しく含められますが、テストを行わない場合はライブラリを手動で含める必要があります。この注意事項は、アプリケーションのデプロイについても当てはまります。rdbThin jdbcドライバがサーバーによって自動的に利用可能にならない場合は、ドライバを手動でデプロイする必要があります。

 
 

埋込みのOCJ4がrdbThinライブラリを検索する際に発生する問題

前述した手順で各構成ファイルに変更を加えた後でも、システムとJDeveloperバージョンの組合せによっては、埋込みのOCJ4サーバーの起動時にrdbThin.jarが解決されない場合があることが判明しています。

埋込みOCJ4サーバーの起動中に、次のエラーが表示される場合があります。

      データソース'jdbc/rdbThinCoreDS'を初期化中のエラー: DriverManagerDataSourceドライバ'oracle.rdb.jdbc.rdbThin.Driver'が見つかりません

この問題は、rdbThin.jarファイルをJDeveloperのJ2EE Libディレクトリにコピーすることで回避できます。

   <jdev_install>/j2ee/home/lib