Data source minimum required settings for Informix
These properties vary according to the database vendor requirements for JDBC driver implementations. Set the appropriate properties on every data source that you configure. These settings are for Informix data sources.
Configure the following types of providers:
- Informix Using IBM JCC Driver
- Informix Using IBM JCC Driver (XA)
- Informix Using IBM Universal JDBC Driver
- Informix Using IBM Universal JDBC Driver (XA)
Informix Using IBM JCC Driver
The Informix Using 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.
- Supports the following one-phase data source:
com.ibm.db2.jcc.DB2ConnectionPoolDataSource- Requires the following JDBC driver files and class path settings:
${INFORMIX_JCC_DRIVER_PATH}/db2jcc4.jar ${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar- Requires the following DataStoreHelper class:
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper- Requires a valid authentication alias.
- Requires the following properties:
serverName The TCP/IP address or host name for the DRDA server. The name of the Informix instance on the server. portNumber The TCP/IP port number where the DRDA 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 Using 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.
- Supports two phase data source:
com.ibm.db2.jcc.DB2XADataSource- Requires JDBC driver files:
db2jcc4.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jarAvoid trouble: If we plan to use SQLJ for queries, this provider also requires driver file ifxsqlj.jar.
- Requires the following DataStoreHelper class:
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper- Requires a valid authentication alias.
- Requires the following properties:
serverName The TCP/IP address or host name for the DRDA server. The name of the Informix instance on the server. portNumber The TCP/IP port number where the DRDA server resides. databaseName The name of the database from which the data source obtains connections. Example: Sample.
Avoid trouble: 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 Universal JDBC 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.DB2ConnectionPoolDataSource- Requires the following JDBC driver files:
db2jcc.jar
db2jcc_license_cu.jar
db2jcc_license_cisuz.jar- Requires the following DataStoreHelper class:
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper- Requires a valid authentication alias.
- Requires the following properties:
serverName The TCP/IP address or host name for the DRDA server. The name of the Informix instance on the server. portNumber The TCP/IP port number where the DRDA server resides. databaseName The name of the database from which the data source obtains connections. Example: Sample.
Informix Using IBM Universal JDBC Driver (XA)
The Informix 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.DB2XADataSource- Requires the following JDBC driver files:
db2jcc.jar
db2jcc_license_cu.jar
db2jcc_license_cisuz.jar- Requires DataStoreHelper class:
com.ibm.websphere.rsadapter.InformixJccDataStoreHelper- Requires a valid authentication alias.
- Requires the following properties:
serverName The TCP/IP address or host name for the DRDA server. The name of the Informix instance on the server. portNumber The TCP/IP port number where the DRDA server resides. databaseName The name of the database from which the data source obtains connections. Example: Sample.
Avoid trouble: 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.
Related tasks
Set a JDBC provider and data source
Set a JDBC provider
Set a data source
Create and configuring a JDBC provider and data source using the JMX API 
Related information
IBM Informix product family Web pages