ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverタイプ4 JDBCドライバ
11g リリース1(10.3.5)
B61001-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストヘ移動
製品
目次へ移動
目次

前
 
次
 

2 Oracleタイプ4 JDBCドライバの使用

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

DataDirectのOracleタイプ4 JDBCドライバは、次のような特長を持つ実績のあるドライバです。

次の項では、Oracleタイプ4 JDBCドライバについて詳しく説明します。

JDBC仕様の準拠

Oracleタイプ4 JDBCドライバはJDBC 3.0仕様に準拠しています。また、JDBC 4.0仕様の次の機能もサポートしています。

詳細は、付録A「JDBCのサポート」を参照してください。


注意:

様々なベンダーのドライバ使用時のWebLogic Server動作を比較したとき、ドライバがJDBCに準拠していても、ベンダーが異なる仕様と解釈したり特定の状況に対して異なる実装を提供したりする可能性があることを忘れないようにしてください。

たとえば: Oracleタイプ4 JDBC SQL Serverドライバの使用時に、スキーマが0から256の範囲を定義しているTINYINT列に負の値(-100)を入力する場合、このドライバは例外をスローします。ところが、Microsoft SQL Serverドライバは負の記号を無視します。


インストール

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


注意:

WebLogic Serverの完全インストールを実行すると、Oracleタイプ4 JDBCドライバがデフォルトでインストールされます。カスタム・インストールを選択した場合は、WebLogic JDBCドライバ・オプションが選択されている(チェック・ボックスが選択されている)ことを確認します。このオプションが選択されていない場合、ドライバはインストールされません。

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

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

データベース・サポートの詳細は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlを参照してください。

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

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

次の関連情報を参照してください。

接続プロパティの指定

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

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

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

接続プロパティの構成の詳細は、該当するドライバの章を参照してください。

IPアドレスの使用

Oracleタイプ4 JDBCドライバでは、IPv4およびIPv6形式のIP (インターネット・プロトコル)アドレスがサポートされます。IPv6アドレスは、特定のバージョンのデータベースに接続する場合にのみサポートされます(表2-1を参照してください)。また、IPv6アドレスに接続するためには、ドライバ・マシンの場合は、WindowsではJ2SE 5.0以上、UNIX/LinuxではJ2SE 1.4が必要になります。

表2-1 各Oracleタイプ4 JDBCドライバでサポートされるIPアドレス形式

ドライバ IPv4 IPv6

DB2

サポートされているすべてのバージョン

z/OS上のDB2 v9.1

Linux、UNIX、Windows上のDB2 V9.1以上

iSeries上のDB2 V5R2以上

Informix

サポートされているすべてのバージョン

Informix 10以上

Microsoft SQL Server

サポートされているすべてのバージョン

Microsoft SQL Server 2005以上

Sybase

サポートされているすべてのバージョン

Sybase 12.5.2以上


ネットワークで名前付きサーバーがサポートされている場合は、接続URLまたはデータ・ソースに指定されたサーバー名を、IPv4またはIPv6アドレスに解決できます。たとえば、次のURLのサーバー名DB2Serverを、いずれかのタイプのアドレスに解決できます。

jdbc:weblogic:db2://DB2Server:50000;DatabaseName=jdbc;User=test;
Password=secret

また、接続URLのサーバー名部分に、IPv4またはIPv6形式のアドレスを指定することもできます。たとえば、次の接続URLでは、IPv4形式でサーバーを指定しています。

jdbc:weblogic:db2://123.456.78.90:50000;DatabaseName=jdbc;User=test;
Password=secret

ServerNameデータ・ソース・プロパティを使用して、いずれかの形式でアドレスを指定することも可能です。次のデータ・ソース定義では、IPv6形式でサーバー名を指定しています。

DB2DataSource mds = new DB2DataSource();
mds.setDescription("My DB2DataSource");
mds.setServerName("[ABCD:EF01:2345:6789:ABCD:EF01:2345:6789]");
mds.setPortNumber(50000);
...

注意:

接続URLやデータ・ソース・プロパティでIPv6アドレスを指定する場合は、そのアドレスをカッコで囲む必要があります。

Oracleタイプ4 JDBCドライバでは、通常のIPv6形式に加え、圧縮したアドレスやIPv4とIPv6を組み合わせたアドレスなど、IPv6の代替形式もサポートされます。たとえば、次の接続URLではIPv6形式でサーバーを指定していますが、連続するゼロのビットのために圧縮した構文が使用されています。

jdbc:weblogic:db2://[2001:DB8:0:0:8:800:200C:417A]:50000;DatabaseName=jdbc;
User=test;Password=secret

次の接続URLでもIPv6形式でサーバーを指定していますが、IPv4とIPv6を組み合わせたアドレスが使用されています。

jdbc:weblogic:db2://[0000:0000:0000:0000:0000:FFFF:123.456.78.90]:50000;
DatabaseName=jdbc;User=test;Password=secret

IPv6の詳細は、次のページを参照してください。

http://tools.ietf.org/html/rfc4291#section-2.2

セキュリティの使い方

Oracleタイプ4 JDBCドライバでは、セキュリティ機能として認証とデータの暗号化がサポートされます。

認証

ほとんどのコンピュータ・システムでは、ユーザーの身元を証明するものとしてパスワードが使用されています。このパスワードは、ネットワーク上で転送することが多く、悪意のあるハッカーによって傍受されるおそれがあります。パスワードはユーザーを識別するための秘匿情報であるため、パスワードを知っていれば誰でもそのユーザーになりすますことができます。認証方法を使用すると、ユーザーの識別情報を保護できます。Oracleタイプ4 JDBCドライバでは、次の認証方法がサポートされます。

  • ユーザーID/パスワード認証:データベースでのユーザー名とパスワードを使用して、データベースにアクセスするユーザーを認証します。

  • Kerberos認証:信頼性のあるサード・パーティ認証サービスです。DB2、およびSybaseでは、Windows Active Directory KerberosおよびMIT Kerberos実装の両方がサポートされます。SQL Serverの場合は、Windows Active Directory Kerberosのみがサポートされます。

  • クライアント認証:ドライバを実行しているシステムにログインしたユーザーのユーザーIDを使用して、データベースにアクセスするユーザーを認証します。クライアントでのみ認証が実施され、データベース・サーバーによる追加の認証は提供されません。

  • NTLM認証: Windows環境用のシングル・サインオン認証です。この認証方法は、Windowsクライアントでのみ使用できます。

表2-2に、Oracleタイプ4 JDBCドライバでサポートされる認証方法を示します。

表2-2 Oracleタイプ4 JDBCドライバでサポートされる認証方法

ドライバ ユーザーID/パスワード Kerberos クライアント NTLM

Linux/UNIX/Windows上のDB2

X

X

X

N/A

z/OS上のDB2

X

X

X

N/A

iSeries上のDB2

X

N/A

X

N/A

Informix

X

N/A

N/A

N/A

Microsoft SQL Server

X

X脚注 1 

N/A

X

Sybase

X

X

N/A

N/A


脚注1 Microsoft SQL Server 2000以上でサポートされます。

Kerberos認証の要件

ドライバにKerberos認証を構成する前に、使用している環境が表2-3の要件を満たしていることを確認してください。

表2-3 ドライバにKerberos認証を構成する場合の要件

コンポーネント 要件

データベース・サーバー

データベースは、以下のいずれかのバージョンであることが必要です。

DB2 :

  • Linux/UNIX/Windows上のDB2 v8.1以上

Microsoft SQL Server :

  • Microsoft SQL Server 2005

  • Microsoft SQL Server 2000

  • Microsoft SQL Server 2000 Enterprise Edition (64ビット) Service Pack 2以上

Sybase :

  • Sybase 12.0以上

Kerberosサーバー

Kerberosサーバーは、認証に使用するユーザーIDを管理します。Kerberosキー配布センター(KDC)もKerberosサーバーで管理します。Windows Active Directoryを使用する場合は、このマシンがドメイン・コントローラとしても機能します。

DB2およびSybaseの場合:

ネットワーク認証を、以下のいずれかの方法で提供する必要があります。

  • 以下のいずれかのオペレーティング・システム上のWindows Active Directory

    Windows Server 2003

    Windows 2000 Server Service Pack 3以上

  • MIT Kerberos 1.4.2以上

Microsoft SQL Server :

ネットワーク認証は、以下のいずれかのオペレーティング・システム上のWindows Active Directoryから提供する必要があります。

  • Windows Server 2003

  • Windows 2000 Server Service Pack 3以上

クライアント

J2SE 1.4.2以上がインストールされている必要があります。


Kerberos認証を使用するためには、WebLogic JDBC タイプ4ドライバのインストール後に、ある程度の構成が必要になります。認証の構成の詳細は、個別のドライバの章を参照してください。

NTLM認証の要件

ドライバにNTLM認証を構成する前に、使用している環境が表2-4の要件を満たしていることを確認してください。

表2-4 ドライバにNTLM認証を構成する場合の要件

コンポーネント 要件

データベース・サーバー

データベース・サーバーは、クライアントの管理に使用するドメイン・コントローラで管理する必要があります。また、データベース・サーバーを以下のいずれかのデータベースで実行する必要があります。

Microsoft SQL Server :

  • Microsoft SQL Server 2005

  • Microsoft SQL Server 2000 Service Pack 3以上

  • Microsoft SQL Server 2000 Enterprise Edition (64ビット) Service Pack 2以上

ドメイン・コントローラ

ドメイン・コントローラはデータベース・サーバーとクライアントの両方を管理している必要があります。以下のいずれかのオペレーティング・システム上のNTLMがネットワーク認証を提供する必要があります。

  • Windows Server 2003

  • Windows 2000 Server Service Pack 3以上

クライアント

クライアントはデータベース・サーバーを管理している同じドメイン・コントローラによって管理され、以下のいずれかのオペレーティング・システムで実行されている必要があります。

  • Windows Vista

  • Windows Server 2003

  • Windows XP Service Pack 1以上

  • Windows 2000 Service Pack 4以上

  • Windows NT 4.0

また、J2SE 1.3以上がインストールされている必要があります。


NTLM認証を使用するためには、WebLogic JDBC タイプ4ドライバのインストール後に、最低限の構成が必要になります。認証の構成の詳細は、個別のドライバの章を参照してください。

ネットワーク上でのデータの暗号化

データベース接続がデータを暗号化するように構成されていない場合、ネットワーク上のデータは高速転送用に設計された形式で転送されるため、簡単に傍受されて解読されるおそれがあります。この形式では傍受を完全に防ぐことはできないため、データをより安全に転送するには暗号化することをお勧めします。データの暗号化は、たとえば以下のような状況で使用します。

  • 複数のオフィスがイントラネット経由で機密情報を共有しています。

  • クレジット・カード番号など、機密性の高いデータをデータベース接続経由で送信します。

  • 政府または業界のプライバシ要件やセキュリティ要件に準拠する必要があります。


    注意:

    データの暗号化と復号化により余分なオーバーヘッド(主にCPUの使用率)がかかるため、パフォーマンスが低下する場合があります。

Oracleタイプ4 JDBCドライバでは、次の暗号化方法がサポートされます。

  • データベース固有の暗号化(Linux/UNIX/Windows上のDB2およびz/OS上のDB2のみ)。DB2では、これらのデータベースで使用できる独自の暗号化プロトコルが定義されています。DB2暗号化の構成の詳細は、「データの暗号化」を参照してください。

  • Secure Sockets Layer (SSL)。SSLは、暗号化されたデータをデータベース接続経由で送信するための業界標準プロトコルです。SSLが提供する暗号化とクライアント/サーバー認証によって、データの整合性を確保できます。

表2-5に、Oracleタイプ4 JDBCドライバでサポートされるデータの暗号化方法を示します。

表2-5 Oracleタイプ4 JDBCドライバでサポートされるデータの暗号化方法

ドライバ データベース固有 SSL

Linux/UNIX/Windows上のDB2

X

X脚注 1 

z/OS上のDB2

X

NA

iSeries上のDB2

NA

NA

Informix

N/A

N/A

Microsoft SQL Server

N/A

X脚注2

Sybase

N/A

X


脚注1 iSeries上のDB2 V5R2以上でサポートされます。

脚注2 Microsoft SQL Server 2000以上でのみサポートされます。

SSL暗号化

SSLでは、クライアントとサーバーの間で、この両者のみが復号化できるように暗号化されたデータを送受信します。暗号化の条件については、SSLハンドシェイク」と呼ばれる一連のイベントでネゴシエーションします。ハンドシェークでは、以下のタイプの認証が実施されます。

  • SSLサーバー認証は、サーバーがクライアントに対してサーバー自身を認証する必要があります。

  • SSLクライアント認証(オプション)は、サーバーがクライアントに対してサーバー自身を認証した後に、クライアントがサーバーに対してクライアント自身を認証します。


    注意:

    SSLクライアント認証は、DB2でのみサポートされます。

SSLの構成の詳細は、個別のドライバの章を参照してください。

SSLサーバー認証

クライアントが接続をリクエストすると、サーバーは認否の決定に使用するパブリック証明書をクライアントに提示します。クライアントは、この証明書の発行者を、信頼性のある認証局(CA)のリストと照合します。新しいイベントを出力ストリームに生成することもできます。クライアントは、必要に応じて証明書のサブジェクト(オーナー)を確認できます。証明書がトラスト・ストア内の信頼性のあるCAに一致すると(そして証明書のサブジェクトがアプリケーション側の想定値に一致すると)、クライアントとサーバーの間に暗号化された接続が確立されます。証明書が一致しない場合は、接続に失敗して例外がスローされます。

証明書の発行者とトラスト・ストアの内容を照合するためには、ドライバがトラスト・ストアを見つけ、適切なパスワードでトラスト・ストアのロックを解除できなければなりません。トラスト・ストアの情報は、以下のいずれかの方法で指定できます。

  • Javaシステム・プロパティjavax.net.ssl.trustStoreおよびjavax.net.ssl.trustStorePasswordの値を指定します。例:

    java -Djavax.net.ssl.trustStore=C:\Certificates\MyTruststore
    

    および

    java -Djavax.net.ssl.trustStorePassword=MyTruststorePassword
    

    この方法では、JVM内に作成されたすべてのSSLソケットの値が設定されます。

  • 接続プロパティTrustStoreおよびTrustStorePasswordの値を指定します。例:

    TrustStore=C:\Certficates\MyTruststore
    

    および

    TrustStorePassword=MyTruststorePassword
    

    TrustStoreおよびTrustStorePasswordプロパティに値を指定すると、それらの値によってJavaシステム・プロパティの値がオーバーライドされます。この方法で、特定の接続にのみ使用するトラスト・ストア・ファイルを指定できます。

別の方法として、証明書を発行する発行者は信頼性のあるCAでなくても、サーバーから送信されたすべての証明書を信頼するようにOracleタイプ4 JDBCドライバを構成することもできます。テスト環境においては、サーバーから送信されたすべての証明書をドライバが信頼するようにすることで、テスト環境内のクライアントごとにトラスト・ストア情報を指定する手間を省くことができます。ドライバがサーバーからのすべての証明書を信頼するように構成した場合、証明書内の発行者情報は無視されます。

SSLクライアント認証(DB2ドライバ)

サーバーをSSLクライアント認証用に構成すると、サーバーは識別情報を提供した後、クライアントにその識別情報を検証するよう要求します。クライアントは、SSLサーバー認証の場合と同じように、認否の決定に使用するパブリック証明書をサーバーに送信します。クライアントのパブリック証明書は、「キーストア」と呼ばれる暗号化されたファイルに保持されます。

ドライバは、キーストアを見つけ、適切なキーストア・パスワードでキーストアのロックを解除できなければなりません。使用するキーストアのタイプによっては、証明書およびその秘密鍵にアクセスするためのパスワードを使用して、キーストア・エントリのロックも解除する必要があります。

Oracleタイプ4 JDBCドライバでは、次のタイプのキーストアを使用できます。

  • Javaキーストア(JKS) :複数の証明書を保持します。各エントリは別名で識別されます。各エントリの値は、証明書およびその秘密鍵です。各キーストア・エントリには、キーストアと同じパスワードを設定することも、キーストアとは別のパスワードを設定することもできます。キーストア・エントリのパスワードがキーストアのパスワードと異なる場合は、ドライバがそのパスワードを提供してエントリのロックを解除し、証明書およびその秘密鍵にアクセスできるようにする必要があります。

  • PKCS #12キーストア:証明書を1つのみ保持します。ドライバは、キーストアのパスワードを提供するのみ、証明書およびその秘密鍵にアクセスできます。キーストアのファイル拡張子は、.pfxまたは.p12でなければなりません。

これらの情報は、以下のいずれかの方法で指定できます。

  • Javaシステム・プロパティjavax.net.ssl.keyStoreおよびjavax.net.ssl.keyStorePasswordの値を指定します。例:

    java -Djavax.net.ssl.keyStore=C:\Certificates\MyKeystore
    

    および

    java -Djavax.net.ssl.keyStorePassword=MyKeystorePassword
    

    この方法では、JVM内に作成されたすべてのSSLソケットの値が設定されます。


    注意:

    javax.net.ssl.keyStore Javaシステム・プロパティで指定したキーストアがJKSで、キーストア・エントリのパスワードがキーストアのパスワードと異なる場合は、KeyPassword接続プロパティにキーストア・エントリのパスワードを指定する必要があります。たとえば、KeyPassword=MyKeyPassword

  • 接続プロパティKeyStoreおよびKeyStorePasswordの値を指定します。例:

    KeyStore=C:\Certficates\MyKeyStore
    

    および

    KeyStorePassword=MyKeystorePassword
    

    注意:

    KeyStore接続プロパティで指定したキーストアがJKSで、キーストア・エントリのパスワードがキーストアのパスワードと異なる場合は、KeyPassword接続プロパティにキーストア・エントリのパスワードを指定する必要があります。たとえば、KeyPassword=MyKeyPassword

    KeyStoreおよびKeyStorePasswordプロパティに値を指定すると、それらの値によってJavaシステム・プロパティの値がオーバーライドされます。この方法で、特定の接続にのみ使用するキーストア・ファイルを指定できます。

Javaセキュリティ・マネージャに必要な権限

Javaセキュリティ・マネージャを有効にした状態でOracleタイプ4 JDBCドライバを使用する場合は、ドメインのセキュリティ・ポリシー・ファイルに特定の権限を設定する必要があります。WebLogic Serverには、編集および使用可能なサンプル・セキュリティ・ポリシー・ファイルが用意されています。このファイルは、WL_HOME\server\lib\weblogic.policyにあります。weblogic.policyファイルには、ドライバに必要なほとんどすべての権限が含まれています。weblogic.policyファイルを変更せずに使用する場合は、それ以上の権限を付与する必要はありません。別のセキュリティ・ポリシー・ファイルを使用する場合や、追加の権限を必要とするドライバ機能を使用する場合は、次の項を参照して必要となる権限を確認します。


注意:

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

WebLogic ServerでJavaセキュリティ・マネージャの使用の詳細は、『Oracle WebLogic Serverセキュリティのプログラミング』のJavaセキュリティを使用したWebLogicリソースの保護に関する項を参照してください。

接続を確立するための権限

データベース・サーバーへの接続を確立するには、次の例で示すようにOracleタイプ4 JDBCドライバに権限を付与する必要があります。使用しているデータベース管理システム用のjarにも権限を付与する必要があります。権限は、ディレクトリ内のすべてのJARファイルに対して、または特定のファイルに対してのみ、付与できます。

ディレクトリ内のすべてのJARファイルの場合:

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

個別のJARファイルの場合:

//For DB2:
grant codeBase "file:WL_HOME${/}server${/}lib${/}wldb2.jar" {
   permission java.net.SocketPermission "*", "connect";
};
//For Informix:
grant codeBase "file:WL_HOME${/}server${/}lib${/}wlinformix.jar" {
   permission java.net.SocketPermission "*", "connect";
};
//For MS SQL Server:
grant codeBase "file:WL_HOME${/}server${/}lib${/}wlsqlserver.jar" {
   permission java.net.SocketPermission "*", "connect";
};
//For 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プロパティへのアクセス権の付与

Oracleタイプ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のインストール先ディレクトリです。

「接続を確立するための権限」で説明したように、これらの権限を個別のファイルに付与することもできます。

一時ファイルへのアクセス権の付与

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

// permissions granted to all domains
grant codeBase "file:WL_HOME${/}server${/}lib${/}-" {
// Permission to create and delete temporary files.
// Adjust the temporary directory for your environment.
permission java.io.FilePermission "C:\\TEMP\\-", "read,write,delete";
};

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

「接続を確立するための権限」で説明したように、これらの権限を個別のファイルに付与することもできます。

Kerberos認証のための権限

Kerberos認証をサポートするOracleタイプ4 JDBCドライバでKerberos認証を使用するには、Java 2プラットフォームのセキュリティ・ポリシー・ファイルで、アプリケーションとドライバのコード・ベースにセキュリティ権限を付与する必要があります。次に例を示します。

Oracleタイプ4 JDBCドライバでKerberos認証を使用する方法については、適切なドライバの章を参照してください。

DB2

Java 2プラットフォームのセキュリティ・ポリシー・ファイルで、アプリケーションとドライバのコード・ベースにセキュリティ権限を付与する必要があります。以下に例を示します。

grant codeBase "file:/WL_HOME/server/lib/-" {
   permission javax.security.auth.AuthPermission
      "createLoginContext.DDTEK-JDBC";
   permission javax.security.auth.AuthPermission "doAs";
   permission javax.security.auth.kerberos.ServicePermission 
      "krbtgt/your_realm@your_realm", "initiate";
   permission javax.security.auth.kerberos.ServicePermission 
      "principal_name/db_hostname@your_realm", "initiate";
};

説明:

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

  • principal_nameは、データベース・サービスを識別するKerberosキー配布センター(KDC)に登録されているサービス・プリンシパル名です。

  • your_realmは、データベース のホスト・マシンが属するKerberosレルム(またはWindowsドメイン)です。

  • db_hostnameは、データベースを実行しているマシンのホスト名です。

Microsoft SQL Server

Java 2プラットフォームのセキュリティ・ポリシー・ファイルで、アプリケーションとドライバのコード・ベースにセキュリティ権限を付与する必要があります。以下に例を示します。

grant codeBase "file:/WL_HOME/server/lib/-" {
   permission javax.security.auth.AuthPermission
      "createLoginContext.DDTEK-JDBC";
   permission javax.security.auth.AuthPermission "doAs";
   permission javax.security.auth.kerberos.ServicePermission 
      "krbtgt/your_realm@your_realm", "initiate";
   permission javax.security.auth.kerberos.ServicePermission 
      "MSSQLSvc/db_hostname:SQLServer_port@your_realm", "initiate";
};

説明:

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

  • your_realmは、データベース のホスト・マシンが属するKerberosレルム(またはWindowsドメイン)です。

  • db_hostnameは、データベースを実行しているマシンのホスト名です。

  • SQLServer_portは、Microsoft SQL ServerインスタンスがリスニングするTCP/IPポートです。

Sybase

Java 2プラットフォームのセキュリティ・ポリシー・ファイルで、アプリケーションとドライバのコード・ベースにセキュリティ権限を付与する必要があります。以下に例を示します。

grant codeBase "file:/WL_HOME/server/lib/-" {
   permission javax.security.auth.AuthPermission
      "createLoginContext.DDTEK-JDBC";
   permission javax.security.auth.AuthPermission "doAs";
   permission javax.security.auth.kerberos.ServicePermission 
      "krbtgt/your_realm@your_realm", "initiate";
   permission javax.security.auth.kerberos.ServicePermission 
      "principal_name/db_hostname@your_realm", "initiate";
};

説明:

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

  • your_realmは、データベース のホスト・マシンが属するKerberosレルム(またはWindowsドメイン)です。

  • principal_nameは、データベース・サービスを識別するKDCに登録されているサービス・プリンシパル名です。

  • db_hostnameは、データベースを実行しているマシンのホスト名です。

XAサポート

Oracleタイプ4 JDBCドライバはXAをサポートしていますが、XAをサポートするためにデータベースの構成が必要になる場合があります。詳細は、次の項を参照してください。

Unicodeサポート

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

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

エラー処理

Oracleタイプ4 JDBCドライバでは、SQLExceptionをスローすることで呼出し側アプリケーションにエラーを報告します。各SQLExceptionには、次の情報が含まれています。

ドライバ・エラー

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

[OWLS][Oracle Type 4 JDBC driver name]message

例:

[OWLS][SQLServer JDBC Driver]Timeout expired.

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

データベース・エラー

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

[OWLS][Oracle Type 4 JDBC driver name][DBMS name] message

例:

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

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