Informix 用データ・ソースの最小必要設定
次のプロパティーは、JDBC ドライバーの実装に関するデータベース・ベンダーの要件によって異なります。構成するデータ・ソースごとに適切なプロパティーを設定してください。 これらの設定は Informix® データ・ソース用です。
- Informix JDBC ドライバー
Informix JDBC Driver は 、Informix データベースへの JDBC アクセスを提供する、タイプ 4 JDBC Driver です。
Informix JDBC Driver は、 以下の 1 フェーズ・データ・ソースをサポートします。
以下の JDBC ドライバー・ファイルが必要です。com.informix.jdbcx.IfxConnectionPoolDataSource
以下の DataStoreHelper クラスが必要です。ifxjdbc.jar ifxjdbcx.jar
有効な認証別名が必要です。com.ibm.websphere.rsadapter.InformixDataStoreHelper
以下のプロパティーが必要です。- serverName
サーバー上の Informix インスタンス の名前。例: ol_myserver
- portNumber
インスタンスが listen するポート。例: 1526
- ifxIFXHOST
接続しようとしている Informix データベースを実行しているマシンの IP アドレスまたはホスト名。例: myserver.mydomain.com
IPv6 のサポート: AIX および Solaris では、 IBM Informix Dynamic Server 10.00 (修正パッケージ 1 適用) が IPv6 規格をサポートしています。 WebSphere Application Server とこれら Informix リリースのいずれかとの 接続で IPv6 を使用可能にするには、ifxIFXHOST プロパティーの IPv6 完全ホスト名を入力します。
- databaseName
データ・ソースが接続を取得するデータベースの名前。例: Sample
- informixLockModeWait
必須ではありませんが、このプロパティーを使用すると、Informix ソフトウェアがロックを待機する秒数を設定できます。デフォルトでは、 Informix コードは即時にロックを獲得できない場合は例外をスローします。 例: 2
- serverName
- Informix JDBC Driver (XA)
Informix JDBC Driver (XA) は 、Informix データベースへの XA 準拠 JDBC アクセスを提供する、タイプ 4 JDBC Driver です。
Informix JDBC Driver (XA) は、次の 2 フェーズ・データ・ソースをサポートします。
以下の JDBC ドライバー・ファイルが必要です。com.informix.jdbcx.IfxXADataSource
ifxjdbc.jar ifxjdbcx.jar
SQLJ の使用: 照会に SQLJ の使用も計画している場合、このプロバイダーにはドライバー・ファイル、ifxsqlj.jar も必要です。
以下の DataStoreHelper クラスが必要です。com.ibm.websphere.rsadapter.InformixDataStoreHelper
有効な認証別名が必要です。
以下のプロパティーが必要です。- serverName
サーバー上の Informix インスタンス の名前。例: ol_myserver
- portNumber
インスタンスが listen するポート。例: 1526
- ifxIFXHOST
接続しようとしている Informix データベースを実行しているマシンの IP アドレスまたはホスト名。例: myserver.mydomain.com
IPv6 のサポート: AIX および Solaris では、 IBM Informix Dynamic Server 10.00 (修正パッケージ 1 適用) が IPv6 規格をサポートしています。 WebSphere Application Server とこれら Informix リリースのいずれかとの 接続で IPv6 を使用可能にするには、ifxIFXHOST プロパティーの IPv6 完全ホスト名を入力します。
- databaseName
データ・ソースが接続を取得するデータベースの名前。例: Sample
- ifxIFX_XASPEC
複数のユーザーが同じデータベースにアクセスする場合には、 このプロパティーを有効にします。このプロパティーを有効にすると、同一のグローバル・トランザクション ID 内で XA トランザクションの緊密な結合が行われ、そのトランザクションではロック・スペースの共有が必要になります。
これらのパラメーターは、複数のクライアント要求が生じた場合にトランザクション管理エラーが発生することを防ぐ働きをします。
ifxIFX_XASPEC プロパティーを有効にするには、このプロパティーに値 Y または y を割り当てます。設定では大文字小文字は区別されないので、どちらでもかまいません。このプロパティーを 無効にするには、値 N または n を割り当てます。 WebSphere Application Server は、その他の値はすべて無視します。このプロパティーの設定は、 Informix データベースのシステム設定をオーバーライドします。
- informixLockModeWait
必須ではありませんが、このプロパティーを使用すると、Informix ソフトウェアがロックを待機する秒数を設定できます。デフォルトでは、 Informix コードは即時にロックを獲得できない場合は例外をスローします。 例: 2
- serverName
- Informix Using IBM JCC
Driver
Informix IBM JCC Driver は、IBM Data Server Driver for JDBC and SQLJ を使用する Informix 用の 1 フェーズ・コミット・プロバイダーです。IBM Data Server Driver は JDBC 4.0 に準拠しており、次世代の Universal JCC ドライバーです。
このプロバイダーはバージョン 7.0 以降のノードで構成可能です。
以下の 1 フェーズ・データ・ソースがサポートされています。com.ibm.db2.jcc.DB2ConnectionPoolDataSource
以下の JDBC ドライバー・ファイルが必要です。
以下の DataStoreHelper クラスも必要です。db2jcc4.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jar
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper
このプロバイダーは、有効な認証別名を必要とします。
以下のプロパティーが必要です。- serverName - Informix サーバーの TCP/IP アドレスまたはホスト名。
- portNumber - Informix サーバーが存在している TCP/IP ポート番号。
- databaseName - データ・ソースが接続を取得するデータベースの名前。例: Sample
- IBM JCC ドライバー (XA) を使用した Informix
Informix IBM JCC Driver (XA) は、IBM Data Server Driver for JDBC and SQLJ を使用する Informix 用の 2 フェーズ・コミット・プロバイダーです。IBM Data Server Driver は JDBC 4.0 に準拠しており、次世代の Universal JCC ドライバーです。
このプロバイダーはバージョン 7.0 以降のノードで構成可能です。
以下の 2 フェーズ・データ・ソースがサポートされています。com.ibm.db2.jcc.DB2XADataSource
以下の JDBC ドライバー・ファイルが必要です。
以下の DataStoreHelper クラスも必要です。db2jcc4.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jar
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper
トラブルの回避 (Avoid trouble): 照会に SQLJ の使用も計画している場合、このプロバイダーにはドライバー・ファイル、ifxsqlj.jar も必要です。gotcha
このプロバイダーは、有効な認証別名を必要とします。
以下のプロパティーが必要です。- serverName - Informix サーバーの TCP/IP アドレスまたはホスト名。
- portNumber - Informix サーバーが存在している TCP/IP ポート番号。
- databaseName - データ・ソースが接続を取得するデータベースの名前。例: Sample
トラブルの回避 (Avoid trouble): SQL ステートメントがローカル・トランザクション (グローバル・トランザクションではなく) で発行される場合、Informix XA データ・ソースを ANSI データベースと一緒に使用することはできません。 このシナリオは、アプリケーション・コード内、または Application Server のコンポーネント内 (スケジューラーなど) で発生する場合があります。 この問題が発生した場合、以下のメッセージがログに記録される可能性があります。
gotchajava.sql.SQLException: Already in transaction. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:398) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3247) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3556) at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2382) at com.informix.jdbcx.IfxXASqli.receiveMessage(IfxXASqli.java:120) at com.informix.jdbc.IfxSqli.X(IfxSqli.java:7926) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:854) at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:749) at com.informix.jdbc.IfxResultSet.b(IfxResultSet.java:293) at com.informix.jdbc.IfxStatement.c(IfxStatement.java:1269) at com.informix.jdbc.IfxStatement.b(IfxStatement.java:423) at com.informix.jdbc.IfxStatement.executeUpdate(IfxStatement.java:277) at com.informix.jdbc.IfxSqliConnect.setTransactionIsolation(IfxSqliConnect.java:2565)
この問題を回避するには、以下のようにします。- 非 ANSI データベースに切り替えます。
- エラーがアプリケーションによってトリガーされた場合、そのアプリケーションを更新して、常にグローバル・トランザクションで実行されるようにします。
- Informix Using IBM DB2 JDBC Universal Driver
Informix JDBC Driver は、Informix データベース への JDBC アクセスを提供する、JDBC 3.0 に準拠したタイプ 4 JDBC ドライバーです。
このプロバイダーでは、以下の 1 フェーズ・データ・ソースがサポートされています。com.ibm.db2.jcc.DB2ConnectionPoolDataSource
以下の JDBC ドライバー・ファイルが必要です。
以下の DataStoreHelper クラスも必要です。db2jcc.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jar
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper
このプロバイダーは、有効な認証別名を必要とします。
以下のプロパティーが必要です。- serverName - Informix サーバーの TCP/IP アドレスまたはホスト名。
- portNumber - Informix サーバーが存在している TCP/IP ポート番号。
- databaseName - データ・ソースが接続を取得するデータベースの名前。例: Sample
- Informix Using IBM DB2 JDBC Universal Driver
(XA)
Informix JDBC Driver (XA) は、Informix データベースへの XA 準拠の JDBC アクセスを提供する、JDBC 3.0 に準拠したタイプ 4 JDBC ドライバーです。
このプロバイダーでは、以下の 2 フェーズ・データ・ソースがサポートされています。com.ibm.db2.jcc.DB2XADataSource
以下の JDBC ドライバー・ファイルが必要です。
以下の DataStoreHelper クラスも必要です。db2jcc.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jar
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper
このプロバイダーは、有効な認証別名を必要とします。
以下のプロパティーが必要です。- serverName - Informix サーバーの TCP/IP アドレスまたはホスト名。
- portNumber - Informix サーバーが存在している TCP/IP ポート番号。
- databaseName - データ・ソースが接続を取得するデータベースの名前。例: Sample
トラブルの回避 (Avoid trouble): SQL ステートメントがローカル・トランザクション (グローバル・トランザクションではなく) で発行される場合、Informix XA データ・ソースを ANSI データベースと一緒に使用することはできません。 このシナリオは、アプリケーション・コード内、または Application Server のコンポーネント内 (スケジューラーなど) で発生する場合があります。 この問題が発生した場合、以下のメッセージがログに記録される可能性があります。
gotchajava.sql.SQLException: Already in transaction. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:398) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3247) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3556) at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2382) at com.informix.jdbcx.IfxXASqli.receiveMessage(IfxXASqli.java:120) at com.informix.jdbc.IfxSqli.X(IfxSqli.java:7926) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:854) at com.informix.jdbc.IfxSqli.executeCommand(IfxSqli.java:749) at com.informix.jdbc.IfxResultSet.b(IfxResultSet.java:293) at com.informix.jdbc.IfxStatement.c(IfxStatement.java:1269) at com.informix.jdbc.IfxStatement.b(IfxStatement.java:423) at com.informix.jdbc.IfxStatement.executeUpdate(IfxStatement.java:277) at com.informix.jdbc.IfxSqliConnect.setTransactionIsolation(IfxSqliConnect.java:2565)