WebLogic Type 4 JDBC ドライバ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

WebLogic Type 4 JDBC ドライバの使い方

DataDirect の BEA WebLogic Type 4 JDBC ドライバを使用すると、インターネットやイントラネットへアクセスする業界最先端のデータ ストアに対して、WebLogic Server 経由で高パフォーマンスな JDBC アクセスを行えます。BEA WebLogic Type 4 JDBC ドライバは Java 環境に合わせて最適化されているので、Java テクノロジを組み込んだり、既存システムの機能およびパフォーマンスを拡張したりできます。

DataDirect の WebLogic Type 4 JDBC ドライバは、以下のような特長を持つ実績のあるドライバです。

以下の節では、BEA WebLogic Type 4 JDBC ドライバについて詳しく説明します。

 


JDBC 仕様の準拠

BEA WebLogic Type 4 JDBC ドライバは JDBC 3.0 仕様に準拠しています。また、JDBC 2.0 標準拡張機能の一部もサポートしています。詳細については、「JDBC のサポート」を参照してください。

 


インストール

WebLogic Type 4 JDBC ドライバは、WebLogic Server と共に WL_HOME\server\lib フォルダにインストールされます。WL_HOME は WebLogic Server をインストールしたディレクトリです。ドライバ クラス ファイルは weblogic.jar のマニフェスト クラスパスに含まれているので、ドライバは自動的にサーバのクラスパスに追加されます。

WebLogic Type 4 JDBC ドライバは WebLogic のクライアント jar ファイル (wlclient.jar など) のマニフェスト クラスパスには含まれていません。WebLogic クライアントでドライバを使用するには、以下のファイルをクライアントにコピーし、クライアントのクラスパスに追加する必要があります。

 


ライセンス要件

BEA WebLogic Type 4 JDBC ドライバは、WebLogic Server および WebLogic Server クライアントでのみ使用が許可されています。少なくとも以下のいずれかのファイルがクラスパスに入っていないと、ライセンス チェックが成功しません。

 


サポートするデータベース

表 2-1 に、各 BEA WebLogic Type 4 JDBC ドライバでサポートされるデータベースを示します。

表 2-1 サポートするデータベース
ドライバ
サポートするデータベース
DB2
  • Linux、UNIX、および Windows 上で DRDA を介して動作する DB2 Universal Database (UDB) v7.x、v8.1、および v8.2
  • z/OS 上で DRDA を介して動作する DB2 UDB v7.x および v8.1
  • iSeries 上で動作する DB2 UDB V5R1、V5R2、および V5R3
Informix
Informix 9.4 以上
Oracle
  • Oracle 9i (R1 および R2)
  • Oracle 10g (R1)
SQL Server
  • Mircosoft SQL Server 2000
  • Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)
  • SQL Server 2000 Enterprise Edition (64-bit)
  • Microsoft SQL Server 2005
Sybase
  • Sybase Adaptive Server 11.5 および 11.9
  • Sybase Adaptive Server Enterprise 12.0、12.5、12.5.1、12.5.2、および 12.5.3
  • Sybase Adaptive Server Enterprise 15

 


WebLogic JDBC データ ソースを介した接続

WebLogic Type 4 JDBC ドライバを使用するには、WebLogic Server コンフィグレーションに JDBC データ ソースを作成してから、この JDBC ドライバを選択してデータ ソース内に物理的なデータベース接続を作成します。それによって、アプリケーションが JNDI ツリーでデータ ソースをルックアップして、接続を要求できるようになります。

関連情報については、以下を参照してください。

 


接続プロパティの指定

データ ソースの接続の接続プロパティは、WebLogic Server Administration Console、コマンドライン インタフェース、または JMX API を使用して指定します。接続プロパティは DBMS によって異なります。各 BEA WebLogic Type 4 JDBC ドライバに固有の接続プロパティのリストについては、該当するドライバの章を参照してください。

LoginTimeout による接続作成時間の制限

JDBC データ ソースでデータベース接続を作成するときに、データベースが使用できない場合、デフォルトのシステム タイムアウトが経過するまでリクエストがハングすることがあります。一部のシステムではこの時間が 9 分間に渡る場合もあります。リクエストは JDBC データ ソースの各接続にハングします。このハング時間を最小限に抑えるために、接続に LoginTimeout 値を指定できます。すべての WebLogic Type 4 JDBC ドライバは LoginTimeout 接続プロパティをサポートしています。LoginTimeout 接続プロパティを指定すると、接続がすぐに作成されない場合、リクエストは指定した時間だけ待機します。接続が指定した時間内に作成されない場合、ドライバは SQL 例外を送出します。

接続のフェイルオーバのコンフィグレーションの詳細については、該当するドライバの章を参照してください。

 


Java セキュリティ マネージャに必要なパーミッション

Java セキュリティ マネージャを有効にした状態で BEA WebLogic Type 4 JDBC ドライバを使用する場合は、ドメインのセキュリティ ポリシー ファイルに特定のパーミッションを設定する必要があります。WebLogic Server には、編集および使用可能なサンプル セキュリティ ポリシー ファイルが用意されています。このファイルは、WL_HOME\server\lib\weblogic.policy にあります。weblogic.policy ファイルには、ドライバに必要なほとんどすべてのパーミッションが含まれています。ただし、一時ファイルおよび tnsnames.ora にアクセスするパーミッションは含まれていません。weblogic.policy ファイルを変更せずに使用する場合は、それ以上のパーミッションを付与する必要はありません。別のセキュリティ ポリシー ファイルを使用する場合や、追加のパーミッションを必要とするドライバ機能を使用する場合は、これ以降の節を参照して必要となるパーミッションを追加してください。

注意 : Java 2 プラグインで実行する Web ブラウザ アプレットは常に、Java セキュリティ マネージャを有効にした状態で Java 仮想マシンで実行します。

WebLogic Server で Java セキュリティ マネージャを使用する場合は、『WebLogic Security プログラマーズ ガイド』の「Java セキュリティを使用しての WebLogic リソースの保護」を参照してください。

接続を確立するためのパーミッション

データベース サーバへの接続を確立するには、以下の例で示すように BEA WebLogic Type 4 JDBC ドライバにパーミッションを付与する必要があります。wlbase.jar ファイルおよび wlutil.jar ファイルに加え、使用しているデータベース管理システム用の JAR ファイルにもパーミッションを付与する必要があります。パーミッションは、ディレクトリ内のすべての JAR ファイルに付与したり、特定のファイルにのみ付与したりできます。

ディレクトリ内のすべての JAR ファイルに付与する場合は次のように記述します。

   grant codeBase "file:WL_HOME${/}server${/}lib${/}-" {
      permission java.net.SocketPermission "*", "connect";
   };

個別のファイルに付与する場合は次のように記述します。

   grant codeBase "file:WL_HOME${/}server${/}lib${/}wlbase.jar" {
      permission java.net.SocketPermission "*", "connect";
   };
   grant codeBase "file:WL_HOME${/}server${/}lib${/}wlutil.jar" {
      permission java.net.SocketPermission "*", "connect";
   };

さらに、以下のうち 1 つまたは複数のパーミッションを付与します。

   //DB2 の場合 :
   grant codeBase "file:WL_HOME${/}server${/}lib${/}wldb2.jar" {
      permission java.net.SocketPermission "*", "connect";
   };
   //Informix の場合 :
   grant codeBase "file:WL_HOME${/}server${/}lib${/}wlinformix.jar" {
      permission java.net.SocketPermission "*", "connect";
   };
   //MS SQL Server の場合 :
   grant codeBase "file:WL_HOME${/}server${/}lib${/}wlsqlserver.jar" {
      permission java.net.SocketPermission "*", "connect";
   };
   //Oracle の場合 :
   grant codeBase "file:WL_HOME${/}server${/}lib${/}wloracle.jar" {
      permission java.net.SocketPermission "*", "connect";
   };
   //Sybase の場合 :
   grant codeBase "file:WL_HOME${/}server${/}lib${/}wlsybase.jar" {
      permission java.net.SocketPermission "*", "connect";
   };

WL_HOME は、WebLogic Server のインストール先ディレクトリです。

Microsoft SQL Server の名前付きインスタンスを使用する場合は、次の例のように listen アクションと accept アクションのパーミッションも付与する必要があります。

   grant codeBase "file:WL_HOME${/}server${/}lib${/}-" {
      permission java.net.SocketPermission "*", "listen, connect, accept";
   };

Java プロパティへのアクセス パーミッションの付与

BEA WebLogic Type 4 JDBC ドライバが、特定の操作を実行するためにさまざまな Java プロパティの値を読み取ることができるようにするには、次の例に示すようにパーミッションを付与する必要があります。

   grant codeBase "file:WL_HOME${/}server${/}lib${/}-" {
      permission java.util.PropertyPermission "false", "read";
      permission java.util.PropertyPermission "user.name", "read";
      permission java.util.PropertyPermission "user.language", "read";
      permission java.util.PropertyPermission "user.country", "read";
      permission java.util.PropertyPermission "os.name", "read";
      permission java.util.PropertyPermission "os.arch", "read";
      permission java.util.PropertyPermission "java.specification.version",
         "read";
   };

WL_HOME は、WebLogic Server のインストール先ディレクトリです。

接続を確立するためのパーミッション」で説明したように、これらのパーミッションを個別のファイルに付与することもできます。

一時ファイルへのアクセス パーミッションの付与

Java 仮想マシンのコンフィグレーションに指定した一時ディレクトリへのアクセスは、セキュリティ ポリシー ファイルで付与する必要があります。通常は、Java 仮想マシン (JVM) で使用されるセキュリティ ポリシー ファイルを使用します。このファイルは、JAVA_HOME/jre/lib/security フォルダにあります。インセンシティブなスクロール可能カーソルを使用する場合や、DatabaseMetaData 結果セットのソートをクライアント サイドで実行する場合は、一時ファイルへのアクセス パーミッションをすべてのコード ベースに付与する必要があります。次の例では、C:\TEMP ディレクトリへのアクセス パーミッションを付与しています。

   // すべてのドメインに付与するパーミッション
   grant codeBase "file:WL_HOME${/}server${/}lib${/}-" {
   // 一時ファイルを作成および削除するためのパーミッション
   // 一時ディレクトリは使用している環境に合わせて変更すること
   permission java.io.FilePermission "C:\\TEMP\\-", "read,write,delete";
   };

WL_HOME は、WebLogic Server のインストール先ディレクトリです。

接続を確立するためのパーミッション」で説明したように、これらのパーミッションを個別のファイルに付与することもできます。

Oracle tnsnames.ora ファイルへのアクセス パーミッションの付与

Oracle の tnsnames.ora ファイルを使用して BEA WebLogic Type 4 Oracle ドライバに接続する場合は、Java 2 Platform のセキュリティ ポリシー ファイルで tnsnames.ora ファイルの読み込みアクセスのパーミッションをドライバに付与する必要があります。

   grant codeBase "file:WL_HOME${/}server${/}lib${/}-" {
      permission java.io.FilePermission "C:\\oracle\\ora92\\network\\admin\\
         tnsnames.ora", "read";
   };

WL_HOME は、WebLogic Server のインストール先ディレクトリです。

接続を確立するためのパーミッション」で説明したように、これらのパーミッションを個別のファイルに付与することもできます。

tnsnames.ora ファイルを使用して Oracle データベースに接続する方法の詳細については、「パフォーマンスに関する考慮事項」を参照してください。

 


XA サポート

WebLogic Type 4 JDBC ドライバは XA をサポートしていますが、XA をサポートするためにデータベースのコンフィグレーションが必要になる場合があります。詳細については、以下の節を参照してください。

 


Unicode サポート

BEA WebLogic Type 4 JDBC ドライバを使用して Unicode 対応および Unicode 非対応のデータベースにアクセスする JDBC によって、多言語アプリケーションを任意のオペレーティング システム上で開発できます。Java アプリケーションは、文字列データに関して内部的に UTF-16 Unicode エンコーディングを使用します。データを取得する場合、WebLogic Type 4 JDBC ドライバはデータベースで使用されている文字エンコーディングを UTF-16 に自動的に変換します。同様に、データベースに対してデータの挿入や更新を行う場合、ドライバは UTF-16 エンコーディングからデータベースで使用されている文字エンコーディングに自動的に変換します。

JDBC API は、Unicode (UTF-16) または ASCII でエンコードされた文字データを取得および保存するメカニズムを提供します。また、Java の文字列オブジェクトには、UTF-16 エンコーディングと一般的な文字エンコーディングとの間で文字列データを変換するメソッドが含まれています。

 


エラー処理

BEA WebLogic Type 4 JDBC ドライバでは、SQLException を送出することで呼び出し側アプリケーションにエラーを報告します。各 SQLException には、以下の情報が含まれています。

ドライバ エラー

WebLogic Type 4 JDBC ドライバによって生成されるエラーは次の形式になります。

   [BEA][WebLogic Type 4 JDBC driver name]message

次に例を示します。

   [BEA][SQLServer JDBC Driver]Timeout expired.

場合によっては、アプリケーションからの最後の JDBC 呼び出しをチェックしたり、推奨されるアクションについて JDBC 仕様を参照したりする必要があります。

データベース エラー

データベースによって生成されるエラーは次の形式になります。

   [BEA][WebLogic Type 4 JDBC driver name][DBMS name] message

次に例を示します。

   [BEA][SQL Server JDBC Driver][SQL Server] Invalid Object Name.

ネイティブ エラー コードを使用して、考えられるエラーの原因について詳細を調べます。詳細については、データベースのドキュメントを参照してください。


ページの先頭       前  次