リリース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」を参照してください。
このウォークスルーは、次の手順で構成されています。
このウォークスルーを実行するには、あらかじめ次のものが必要です。
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 IDEをサード・パーティ接続に対応できるように準備するには、jdev.confファイルを編集する必要があります。この手順では、JDeveloperを停止する必要があります。そのため、次の内容を最初に印刷しておくことをお薦めします。
JDeveloper IDEをサード・パーティ接続対応にするには、次のようにします。
<jdev_install>/jdev/bin/jdev.conf
を開きます。AddJavaLibFile
エントリを作成します。サンプルの場所を選択した場合、エントリは次のようになります。AddJavaLibFile C:/Program files/Oracle/Rdb/lib/rdbThin.jar
a. コマンド・プロンプトを開きます。
b. <jdev_install>/jdev/bin
ディレクトリにナビゲートします。
c. jdev -verbose
と入力します。
これで、JDeveloperがサード・パーティ接続を処理できるように構成されました。次に、今後作成されるプロジェクトにデフォルトで適切なライブラリが含まれるようにする必要があります。
この手順では、デフォルトのプロジェクト設定に関連ライブラリを追加します。
a. 「新規」をクリックします。
b. 「ライブラリ名」フィールドにrdbThin
と入力します。
c. 「クラスパス」フィールドの横にある「編集」をクリックします。
d. 「エントリの追加」をクリックします。
e. Rdbネイティブ・ドライバのインストール・フォルダ(たとえばC:/Program files/Oracle/Rdb/lib/
)へナビゲートして、フォルダを開きます。
f. rdbThin.jarをクリックして強調表示します。
g. 「選択」をクリックします。
h. 「OK」をクリックして各ダイアログを閉じます。
ここまでの作業で、サード・パーティ接続のためのIDEの設定と、適切なライブラリをデフォルトでプロジェクトに追加するための指定が完了しました。次に、接続を作成します。
新しいデータベース接続を作成するには、接続ウィザードを使用します。
新しい接続を作成するには、次のようにします。
rdbThin
の接続名を入力し、「接続タイプ」ドロップダウン・リストで「サード・パーティJDBCドライバ」を選択します。「次」をクリックします。oracle.rdb.jdbc.rdbThin.Driver
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
エラー・メッセージの内容 |
考えられる問題 |
"ドライバが見つかりません" |
Javaクラス名のスペルが間違っている |
"ソケットの確立時にエラーが発生しました" |
マシン名のスペルが間違っている |
"適切なドライバが見つかりません" |
URLが間違っている |
"ログインに失敗しました" |
ユーザー名およびパスワードが間違っている |
以前にOracleデータベースに対するビジネス・コンポーネント・プロジェクトを作成したことがある場合は、ここで実行する手順もそれと似ています。異なるのは、SQL規格としてSQL92、タイプ・マップとしてJavaが選択されていることを確認する必要がある点です。また、このプロジェクトに適切なライブラリが使用されるよう指定する必要があります。
プロジェクトの作成とローカルでのテストが正常に完了したら、そのプロジェクトをOC4Jにデプロイできます。ただし、まず、外部のデータソースと連動するようにOC4Jを構成する必要があります。
外部のデータソースと連動するようにOC4Jを構成するには、次のようにします。
/j2ee/home/config/
にあるapplication.xml
ファイルを編集します。rdbThin.jar
を指定する<library>
タグを追加します。構文は、<library path="
<path>" />
です。<library path="C:\Program files\Oracle\Rdb\lib\rdbThin.jar" \>
JDeveloperとRdbThin.jarが同じローカル・ドライブにある場合は、相対パスを使用できます(その場合はフォワードスラッシュを使用します)。たとえば、次のようになります。
<library path="../../../../Program Files/Oracle/Rdb/lib/rdbThin.jar" />
これらの値が正しく設定されなかった場合は、OC4JコンソールでrdbThinエントリに関するエラーが表示されることになります。
また、JDeveloperでOracle接続を使用した状態のまま、外部のデータソースを使用するBC4Jプロジェクトをデプロイすると、デプロイしたプロジェクトに問題が発生する可能性があります。この問題の回避策は次の2つです。
data-sources.xml
ファイルを編集して、目的のデータソースを指す<data-source>要素を手動で追加します。構文は次のとおりです。
<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ドライバがサーバーによって自動的に利用可能にならない場合は、ドライバを手動でデプロイする必要があります。
前述した手順で各構成ファイルに変更を加えた後でも、システムとJDeveloperバージョンの組合せによっては、埋込みのOCJ4サーバーの起動時にrdbThin.jarが解決されない場合があることが判明しています。
埋込みOCJ4サーバーの起動中に、次のエラーが表示される場合があります。
データソース'jdbc/rdbThinCoreDS'を初期化中のエラー: DriverManagerDataSourceドライバ'oracle.rdb.jdbc.rdbThin.Driver'が見つかりません
この問題は、rdbThin.jarファイルをJDeveloperのJ2EE Libディレクトリにコピーすることで回避できます。
<jdev_install>/j2ee/home/lib