![]() ![]() ![]() ![]() |
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 ドライバについて詳しく説明します。
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 ドライバでサポートされるデータベースを示します。
WebLogic Type 4 JDBC ドライバを使用するには、WebLogic Server コンフィグレーションに JDBC データ ソースを作成してから、この JDBC ドライバを選択してデータ ソース内に物理的なデータベース接続を作成します。それによって、アプリケーションが JNDI ツリーでデータ ソースをルックアップして、接続を要求できるようになります。
データ ソースの接続の接続プロパティは、WebLogic Server Administration Console、コマンドライン インタフェース、または JMX API を使用して指定します。接続プロパティは DBMS によって異なります。各 BEA WebLogic Type 4 JDBC ドライバに固有の接続プロパティのリストについては、該当するドライバの章を参照してください。
JDBC データ ソースでデータベース接続を作成するときに、データベースが使用できない場合、デフォルトのシステム タイムアウトが経過するまでリクエストがハングすることがあります。一部のシステムではこの時間が 9 分間に渡る場合もあります。リクエストは JDBC データ ソースの各接続にハングします。このハング時間を最小限に抑えるために、接続に LoginTimeout
値を指定できます。すべての WebLogic Type 4 JDBC ドライバは LoginTimeout
接続プロパティをサポートしています。LoginTimeout
接続プロパティを指定すると、接続がすぐに作成されない場合、リクエストは指定した時間だけ待機します。接続が指定した時間内に作成されない場合、ドライバは SQL 例外を送出します。
接続のフェイルオーバのコンフィグレーションの詳細については、該当するドライバの章を参照してください。
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";
};
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 ファイルを使用して 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 データベースに接続する方法の詳細については、「パフォーマンスに関する考慮事項」を参照してください。
WebLogic Type 4 JDBC ドライバは XA をサポートしていますが、XA をサポートするためにデータベースのコンフィグレーションが必要になる場合があります。詳細については、以下の節を参照してください。
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.
ネイティブ エラー コードを使用して、考えられるエラーの原因について詳細を調べます。詳細については、データベースのマニュアルを参照してください。
![]() ![]() ![]() |