Oracle® Fusion Middleware Oracle WebLogic Server タイプ4 JDBCドライバ 11g リリース1(10.3.3) B61001-01 |
|
前 |
次 |
DataDirectのOracle WebLogic タイプ4 JDBCドライバを使用すると、インターネットやイントラネットへアクセスする業界最先端のデータ・ストアに対して、WebLogic Server経由で高パフォーマンスなJDBCアクセスを行えます。WebLogic タイプ4 JDBCドライバはJava環境に合わせて最適化されているので、Javaテクノロジを組み込んだり、既存システムの機能およびパフォーマンスを拡張したりできます。
DataDirectのWebLogic タイプ4 JDBCドライバは、以下のような特長を持つ実績のあるドライバです。
パフォーマンス指向のエンタープライズ向け機能(分散トランザクション、セーブポイント、複数のオープン結果セット、パラメータ・メタデータなど)をサポートします。
Java EE Compatibility Test Suite (CTS)で認証済みで、業界最大のJDBCテスト・スイートにより検証済みです。
JDBCアプリケーションのテストおよびデバッグ用ツールを装備しています。
次の項では、WebLogic タイプ4 JDBCドライバについて詳しく説明します。
WebLogic タイプ4 JDBCドライバはJDBC 3.0仕様に準拠しています。また、JDBC 4.0仕様の以下の機能もサポートしています。
接続の検証
クライアント情報の格納および取得
ドライバ・クラスの自動ロード(Java SE 6使用時)
詳細は、付録A「JDBCのサポート」を参照してください。
WebLogic タイプ4 JDBCドライバは、WebLogic Serverと共にWL_HOME
\server\lib
フォルダにインストールされます。WL_HOMEはWebLogic Serverをインストール先ディレクトリです。ドライバ・クラス・ファイルはweblogic.jar
のマニフェスト・クラス・パスに含まれているので、ドライバは自動的にサーバーのクラス・パスに追加されます。
注意: WebLogic Serverの完全インストールを実行すると、WebLogic タイプ4 JDBCドライバがデフォルトでインストールされます。カスタム・インストールを選択した場合は、WebLogic JDBCドライバ・オプションが選択されています(チェック・ボックスがオンになっています)ことを確認してください。このオプションが選択されていない場合、ドライバはインストールされません。 |
WebLogic タイプ4 JDBCドライバはWebLogicのクライアントjarファイル(wlclient.jar
など)のマニフェスト・クラスパスには含まれていません。WebLogicクライアントでドライバを使用するには、次のファイルをクライアントにコピーし、クライアントのクラスパスに追加する必要があります。
DB2の場合: wldb2.jar
Informixの場合: wlinformix.jar
MS SQL Serverの場合: wlsqlserver.jar
Sybaseの場合: wlsybase.jar
データベース・サポートの詳細は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
を参照してください。
WebLogic タイプ4 JDBCドライバを使用するには、WebLogic Server構成にJDBCデータ・ソースを作成してから、このJDBCドライバを選択してデータ・ソース内に物理的なデータベース接続を作成します。それによって、アプリケーションがJNDIツリーでデータ・ソースをルックアップして、接続をリクエストできるようになります。
次の関連情報を参照してください。
WebLogic ServerのJDBCおよびデータ・ソースの詳細は、『Oracle WebLogic Server JDBCの構成と管理』を参照してください。
データ ソースからの接続のリクエストについては、『Oracle WebLogic Server JDBCのプログラミング』のDataSourceを使用したクライアント接続の取得に関する項を参照してください。
データ・ソースの接続の接続プロパティは、WebLogic Server管理コンソール、コマンド・ライン・インタフェース、またはJMX APIを使用して指定します。接続プロパティはDBMSによって異なります。各WebLogic タイプ4 JDBCドライバに固有の接続プロパティのリストについては、該当するドライバの章を参照してください。
DB2ドライバの場合は、「DB2接続プロパティ」を参照してください。
Informixドライバの場合は、「Informix接続プロパティ」を参照してください。
MS SQL Serverドライバの場合は、「SQL Server接続プロパティ」を参照してください。
Sybaseドライバの場合は、「Sybase接続プロパティ」を参照してください。
JDBCデータ・ソースでデータベース接続を作成するときに、データベースが使用できない場合、デフォルトのシステム・タイムアウトが経過するまでリクエストがハングすることがあります。一部のシステムではこの時間が9分間に渡る場合もあります。リクエストはJDBCデータ・ソースの各接続にハングします。このハング時間を最小限に抑えるために、接続にLoginTimeout
値を指定できます。すべてのWebLogic タイプ4 JDBCドライバはLoginTimeout
接続プロパティをサポートしています。LoginTimeout
接続プロパティを指定すると、接続がすぐに作成されない場合、リクエストは指定した時間だけ待機します。接続が指定した時間内に作成されない場合、ドライバはSQL例外を例外がスローします。
接続プロパティの構成の詳細は、該当するドライバの章を参照してください。
WebLogic タイプ4 JDBCドライバでは、IPv4およびIPv6形式のIP (インターネット・プロトコル)アドレスがサポートされます。IPv6アドレスは、特定のバージョンのデータベースに接続する場合にのみサポートされます(表2-1を参照)。 また、IPv6アドレスに接続するためには、WindowsではJ2SE 5.0以上、UNIX/LinuxではJ2SE 1.4が必要になります。
表2-1 各WebLogic タイプ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アドレスを指定する場合は、そのアドレスをカッコで囲む必要があります。 |
WebLogic タイプ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の詳細は、次のページを参照してください。
WebLogic タイプ4 JDBCドライバでは、セキュリティ機能として認証とデータの暗号化がサポートされます。
ほとんどのコンピュータ・システムでは、ユーザーの身元を証明するものとしてパスワードが使用されています。このパスワードは、ネットワーク上を転送することが多く、悪意のあるハッカーによって傍受されるおそれがあります。パスワードはユーザーを識別するための秘匿情報であるため、パスワードを知っていれば誰でもそのユーザーになりすますことができます。認証を使用すると、ユーザーの識別情報を保護できます。WebLogic タイプ4 JDBCドライバでは、以下の認証方法がサポートされます。
ユーザーID/パスワード認証:データベースでのユーザー名とパスワードを使用して、データベースにアクセスするユーザーを認証します。
Kerberos認証:信頼性のあるサード・パーティ認証サービスです。DB2、およびSybaseでは、Windows Active Directory KerberosおよびMIT Kerberos実装の両方がサポートされます。SQL Serverの場合は、Windows Active Directory Kerberosのみがサポートされます。
クライアント認証:ドライバを実行しているシステムにログインしたユーザーのユーザーIDを使用して、データベースにアクセスするユーザーを認証します。クライアントでのみ認証が実施され、データベース・サーバーによる追加の認証は提供されません。
NTLM認証: Windows環境用のシングル・サインオン認証です。この認証方法は、Windowsクライアントでのみ使用できます。
表2-2に、WebLogic タイプ4 JDBCドライバでサポートされる認証方法を示します。
表2-2 WebLogic タイプ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認証を構成する前に、使用している環境が表2-3の要件を満たしていることを確認してください。
表2-3 ドライバにKerberos認証を構成する場合の要件
コンポーネント | 要件 |
---|---|
データベース・サーバー |
データベースは、以下のいずれかのバージョンであることが必要です。 DB2 :
Microsoft SQL Server :
Sybase :
|
Kerberosサーバー |
Kerberosサーバーは、認証に使用するユーザーIDを管理します。Kerberosキー配布センター(KDC)もKerberosサーバーで管理します。Windows Active Directoryを使用する場合は、このマシンがドメイン・コントローラとしても機能します。 DB2およびSybaseの場合: ネットワーク認証を、以下のいずれかの方法で提供する必要があります。
Microsoft SQL Server : ネットワーク認証は、以下のいずれかのオペレーティング・システム上のWindows Active Directoryから提供する必要があります。
|
クライアント |
J2SE 1.4.2以上がインストールされている必要があります。 |
Kerberos認証を使用するためには、WebLogic JDBC タイプ4ドライバのインストール後に、ある程度の構成が必要になります。認証の構成の詳細は、個別のドライバの章を参照してください。
ドライバにNTLM認証を構成する前に、使用している環境が表2-4の要件を満たしていることを確認してください。
表2-4 ドライバにNTLM認証を構成する場合の要件
コンポーネント | 要件 |
---|---|
データベース・サーバー |
データベース・サーバーは、クライアントの管理に使用するドメイン・コントローラで管理する必要があります。また、データベース・サーバーを以下のいずれかのデータベースで実行する必要があります。 Microsoft SQL Server :
|
ドメイン・コントローラ |
ドメイン・コントローラはデータベース・サーバーとクライアントの両方を管理している必要があります。以下のいずれかのオペレーティング・システム上のNTLMがネットワーク認証を提供する必要があります。
|
クライアント |
クライアントはデータベース・サーバーを管理している同じドメイン・コントローラによって管理され、以下のいずれかのオペレーティング・システムで実行されている必要があります。
また、J2SE 1.3以上がインストールされている必要があります。 |
NTLM認証を使用するためには、WebLogic JDBC タイプ4ドライバのインストール後に、最低限の構成が必要になります。認証の構成の詳細は、個別のドライバの章を参照してください。
データベース接続がデータを暗号化するように構成されていない場合、ネットワーク上のデータは高速転送用に設計された形式で転送されるため、簡単に傍受されて解読されるおそれがあります。この形式では傍受を完全に防ぐことはできないため、データをより安全に転送するには暗号化することをお勧めします。データの暗号化は、たとえば以下のような状況で使用します。
複数のオフィスがイントラネット経由で機密情報を共有しています。
クレジット・カード番号など、機密性の高いデータをデータベース接続経由で送信します。
政府または業界のプライバシ要件やセキュリティ要件に準拠する必要があります。
注意: データの暗号化と復号化により余分なオーバーヘッド(主にCPUの使用率)がかかるため、パフォーマンスが低下する場合があります。 |
WebLogic タイプ4 JDBCドライバでは、以下の暗号化方法がサポートされます。
データベース固有の暗号化(Linux/UNIX/Windows上のDB2およびz/OS上のDB2のみ)。DB2では、これらのデータベースで使用できる独自の暗号化プロトコルが定義されています。DB2暗号化の構成の詳細は、「データの暗号化」を参照してください。
Secure Sockets Layer (SSL)。SSLは、暗号化されたデータをデータベース接続経由で送信するための業界標準プロトコルです。SSLが提供する暗号化とクライアント/サーバー認証によって、データの整合性を確保できます。
表2-5に、WebLogic タイプ4 JDBCドライバでサポートされるデータの暗号化方法を示します。
表2-5 WebLogic タイプ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クライアント認証は、DB2でのみサポートされます。 |
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が発行した証明書でなくても、サーバーから返されたすべての証明書を信頼するようにWebLogic タイプ4 JDBCドライバを構成することもできます。テスト環境においては、サーバーから送信されたすべての証明書をドライバが信頼するようにすることで、テスト環境内のクライアントごとにトラスト・ストア情報を指定する手間を省くことができます。ドライバがサーバーからのすべての証明書を信頼するように構成した場合、証明書内の発行者情報は無視されます。
サーバーをSSLクライアント認証用に構成すると、サーバーは識別情報を提供した後、クライアントにその識別情報を検証するよう要求します。クライアントは、SSLサーバー認証の場合と同じように、認否の決定に使用するパブリック証明書をサーバーに送信します。クライアントのパブリック証明書は、「キーストア」と呼ばれる暗号化されたファイルに保持されます。
ドライバは、キーストアを見つけ、適切なキーストア・パスワードでキーストアのロックを解除できなければなりません。使用するキーストアのタイプによっては、証明書およびその秘密鍵にアクセスするためのパスワードを使用して、キーストア・エントリのロックも解除する必要があります。
WebLogic タイプ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セキュリティ・マネージャを有効にした状態でWebLogic タイプ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リソースの保護に関する項を参照してください。
データベース・サーバーへの接続を確立するには、次の例で示すようにWebLogic タイプ4 JDBCドライバに権限を付与する必要があります。使用しているデータベース管理システム用のjarにも権限を付与する必要があります。権限は、ディレクトリ内のすべてのJARファイルに付与したり、特定のファイルにのみ付与したりできます。
ディレクトリ内のすべてのJARファイルに付与する場合は次のように記述します。
grant codeBase "file:WL_HOME${/}server${/}lib${/}-" { permission java.net.SocketPermission "*", "connect"; };
個別のファイルに付与する場合は次のように記述します。
//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";
};
WebLogic タイプ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の構成に指定した一時ディレクトリへのアクセスは、セキュリティ・ポリシー・ファイルで付与する必要があります。通常は、JVMで使用されるセキュリティ一時ファイルを使用します。このファイルは、JAVA_HOME
/jre/lib/security
フォルダにあります。インセンシティブなスクロール可能カーソルを使用する場合や、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認証をサポートするWebLogic タイプ4 JDBCドライバでKerberos認証を使用するには、Java 2プラットフォームのセキュリティ・ポリシー・ファイルで、アプリケーションとドライバのコード・ベースにセキュリティ権限を付与する必要があります。以下に例を示します。
WebLogic タイプ4 JDBCドライバでKerberos認証を使用する方法については、適切なドライバの章を参照してください。
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
は、データベースを実行しているマシンのホスト名です。
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ポートです。
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
は、データベースを実行しているマシンのホスト名です。
WebLogic タイプ4 JDBCドライバはXAをサポートしていますが、XAをサポートするためにデータベースの構成が必要になる場合があります。詳細は、次の項を参照してください。
DB2の場合は、「JTAのサポート」を参照してください。
Microsoft SQL Serverの場合は、「JTA用ストアド・プロシージャのインストール」を参照してください。
Sybaseの場合は、「SybaseのJTAのサポート」を参照してください。
WebLogic タイプ4 JDBCドライバを使用してUnicode対応およびUnicode非対応のデータベースにアクセスするJDBCによって、多言語アプリケーションを任意のオペレーティング・システム上で開発できます。Javaアプリケーションは、文字列データに関して内部的にUTF-16 Unicodeエンコーディングを使用します。データを取得する場合、WebLogic タイプ4 JDBCドライバはデータベースで使用されている文字エンコーディングをUTF-16に自動的に変換します。同様に、データベースに対してデータの挿入や更新を行う場合、ドライバはUTF-16エンコーディングからデータベースで使用されている文字エンコーディングに自動的に変換します。
JDBC APIは、Unicode (UTF-16)またはASCIIでエンコードされた文字データを取得および保存するメカニズムを提供します。また、Javaの文字列オブジェクトには、UTF-16エンコーディングと一般的な文字エンコーディングとの間で文字列データを変換するメソッドが含まれています。
WebLogic タイプ4 JDBCドライバでは、SQLExceptionをスローすることで呼出し側アプリケーションにエラーを報告します。各SQLExceptionには、以下の情報が含まれています。
エラーを生成したコンポーネントに続いて、考えられるエラーの原因の説明
ネイティブ・エラー・コード(該当する場合)
XOPEN SQLstateを含む文字列
WebLogic タイプ4 JDBCドライバによって生成されるエラーは次の形式になります。
[OWLS][WebLogic Type 4 JDBC driver name]message
例:
[OWLS][SQLServer JDBC Driver]Timeout expired.
場合によっては、アプリケーションからの最後のJDBC呼出しをチェックしたり、JDBC仕様を参照して推奨されるアクションを調べたりする必要があります。