Data source minimum required settings for Informix
These properties vary according to the database vendor requirements for JDBC driver implementations. We must set the appropriate properties on every data source that we configure. These settings are for Informix data sources.
We can configure the following types of providers:
- Informix JDBC Driver
- Informix JDBC Driver (XA)
- Informix Using IBM JCC Driver
- Informix Using IBM JCC Driver (XA)
- Informix Using IBM DB2 JDBC Universal Driver
- Informix Using IBM DB2 JDBC Universal Driver (XA)
- Informix JDBC Driver
The Informix JDBC Driver is a Type 4 JDBC driver that provides JDBC access to the Informix database.
Informix JDBC Driver supports one phase data source:
com.informix.jdbcx.IfxConnectionPoolDataSourceRequires the following JDBC driver files:ifxjdbc.jar ifxjdbcx.jarRequires the following DataStoreHelper class:com.ibm.websphere.rsadapter.InformixDataStoreHelperRequires a valid authentication alias.Requires the following properties:
- serverName
The name of the Informix instance on the server. Example: ol_myserver.
- portNumber
The port on which the instances listen. Example: 1526.
- ifxIFXHOST
Either the IP address or the host name of the machine running the Informix database to which we want to connect. Example: myserver.mydomain.com.
To support IPv6: On AIX and Solaris, IBM Informix Dynamic Server 10.00 with fix pack 1 supports the IPv6 standard. To enable IPv6 on our WAS connection with one of these Informix releases, input your full IPv6 host name for the ifxIFXHOST property.
- databaseName
The name of the database from which the data source obtains connections. Example: Sample.
- informixLockModeWait
Although not required, this property enables us to set the number of seconds that Informix software waits for a lock. By default, Informix code throws an exception if it cannot immediately acquire a lock. Example: 2.
- Informix JDBC Driver (XA)
The Informix JDBC Driver (XA) is a Type 4 JDBC driver that provides XA-compliant JDBC access to the Informix database.
Informix JDBC Driver (XA) supports two phase data source:
com.informix.jdbcx.IfxXADataSourceRequires the following JDBC driver files:ifxjdbc.jar ifxjdbcx.jarTo use SQLJ: This provider also requires driver file ifxsqlj.jar if we plan to use SQLJ for queries.
Requires the following DataStoreHelper class:
com.ibm.websphere.rsadapter.InformixDataStoreHelperRequires a valid authentication alias.
Requires the following properties:
- serverName
The name of the Informix instance on the server. Example: ol_myserver.
- portNumber
The port on which the instances listen. Example: 1526.
- ifxIFXHOST
Either the IP address or the host name of the machine running the Informix database to which we want to connect. Example: myserver.mydomain.com.
To support IPv6: On AIX and Solaris, IBM Informix Dynamic Server 10.00 with fix pack 1 supports the IPv6 standard. To enable IPv6 on our WAS connection with one of these Informix releases, input your full IPv6 host name for the ifxIFXHOST property.
- databaseName
The name of the database from which the data source obtains connections. Example: Sample.
- ifxIFX_XASPEC
Turn on this property when multiple users access the same database. Activating the property enforces tight coupling of XA transactions within the same global transaction ID, and requires the transactions to share lock space.
These parameters help prevent transaction management errors from occurring in the case of multiple client requests.
Turn on the ifxIFX_XASPEC property by assigning it the value of Y or y; either character works because the setting is not case-specific. Turn the property off by assigning it the value of N or n. WAS ignores all other values. Your setting for the property overrides the Informix database system setting.
- informixLockModeWait
Although not required, this property allows us to set the number of seconds that Informix software waits for a lock. By default, Informix code throws an exception if it cannot immediately acquire a lock. Example: 2.
- Informix Using IBM JCC Driver
The Informix IBM JCC Driver is a one-phase commit provider for Informix that uses the IBM Data Server Driver for JDBC and SQLJ. The IBM Data Server Driver is JDBC 4.0 compliant and is the next generation of the Universal JCC driver.
This provider is configurable in version 7.0 and later nodes.
The following one-phase data source is supported:
com.ibm.db2.jcc.DB2ConnectionPoolDataSourceThe following JDBC driver files are required:
db2jcc4.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jaras well as the following DataStoreHelper class:com.ibm.websphere.rsadapter.InformixJccDataStoreHelperThis provider requires a valid authentication alias.
The following properties are required:
- serverName - The TCP/IP address or host name for the Informix server.
- portNumber - The TCP/IP port number where the Informix server resides.
- databaseName - The name of the database from which the data source obtains connections. Example: Sample.
- Informix Using IBM JCC Driver (XA)
The Informix IBM JCC Driver (XA) is a two-phase commit provider for Informix that uses the IBM Data Server Driver for JDBC and SQLJ. The IBM Data Server Driver is JDBC 4.0 compliant and is the next generation of the Universal JCC driver.
This provider is configurable in version 7.0 and later nodes.
The following two-phase data source is supported:
com.ibm.db2.jcc.DB2XADataSourceThe following JDBC driver files are required:
db2jcc4.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jaras well as the following DataStoreHelper class:com.ibm.websphere.rsadapter.InformixJccDataStoreHelper
If we plan to use SQLJ for queries, this provider also requires driver file ifxsqlj.jar.
This provider requires a valid authentication alias.
The following properties are required:
- serverName - The TCP/IP address or host name for the Informix server.
- portNumber - The TCP/IP port number where the Informix server resides.
- databaseName - The name of the database from which the data source obtains connections. Example: Sample.
We cannot use Informix XA data sources with ANSI databases if SQL statements are issued in local transactions instead of global transactions. This scenario might occur within the application code or within a component of Application Server such as scheduler. The following message might be logged if we are experiencing this problem:
java.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)To avoid this issue:
- Switch to a non-ANSI database.
- If the error is triggered by an application, update the application such that it always runs in a global transaction.
- Informix Using IBM DB2 JDBC Universal Driver
The Informix JDBC Driver is a Type 4 JDBC driver that is JDBC 3.0 compliant and provides access to the Informix database.
This provider supports the following one-phase data source:
com.ibm.db2.jcc.DB2ConnectionPoolDataSourceThe following JDBC driver files are required:
db2jcc.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jaras well as the following DataStoreHelper class:com.ibm.websphere.rsadapter.InformixJccDataStoreHelperThis provider requires a valid authentication alias.
The following properties are required:
- serverName - The TCP/IP address or host name for the Informix server.
- portNumber - The TCP/IP port number where the Informix server resides.
- databaseName - The name of the database from which the data source obtains connections. Example: Sample.
- Informix Using IBM DB2 JDBC Universal Driver (XA)
The Informix Using JDBC Driver (XA) is a Type 4 JDBC driver that is JDBC 3.0 compliant and provides XA-compliant JDBC access to the Informix database.
This provider supports the following two-phase data source:
com.ibm.db2.jcc.DB2XADataSourceThe following JDBC driver files are required:
db2jcc.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jaras well as the following DataStoreHelper class:com.ibm.websphere.rsadapter.InformixJccDataStoreHelperThis provider requires a valid authentication alias.
The following properties are required:
- serverName - The TCP/IP address or host name for the Informix server.
- portNumber - The TCP/IP port number where the Informix server resides.
- databaseName - The name of the database from which the data source obtains connections. Example: Sample.
We cannot use Informix XA data sources with ANSI databases if SQL statements are issued in local transactions instead of global transactions. This scenario might occur within the application code or within a component of Application Server such as scheduler. The following message might be logged if we are experiencing this problem:
java.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)
Configure a JDBC provider and data source Configure a JDBC provider Configure a data source Create and configure a JDBC provider and data source using the JMX API IBM Informix product family Web pages