Note: Source code for XA switch modules is not installed with
Server Enterprise Edition.
You can add support for other XA-compliant database managers. To do this, you write and compile a switch module for the database. See the database vendor's documentation for advice on how to do this.
- Generic One-phase Commit for ODBC Limitations
- When using the Generic one-phase commit for ODBC switch modules, the following SQL operations are not supported in the source for your deployed container-managed service:
- CONNECT
- DISCONNECT
- BEGIN TRANSACTION
- COMMIT
- ROLLBACK
- ODBC Requirements
- Some OpenESQL directives are process-based, and typically need to be set in within the code of the program that makes the database connection. If you are executing services under Enterprise Server that are deployed as container-managed applications, or if you are invoking JES-initiated transactions using IKJEFT01, these directives must be specified when compiling the XA switch module, rather then when compiling your program source.
- ODBC Limitations
- The ODBC module supports only a one-phase commit, and hence:
- Cannot be used in conjunction with other resource managers that use this module because, within a given region, the generic ODBC one-phase commit module supports only one active Resource Manager at a time.
- Can only be used for a single database connection; multiple data source connections are not supported
- Additional Oracle Resources
- For more information on using the Oracle XA switch module, including the Open String definition and details of supported SQL operations, see the following:
- The
Database Access Support topic for Third-party Software in the
Start Here section of this documentation.
- The
Developing Applications with Oracle XA help topic available in the Oracle RDBMS documentation.
- Additional IBM DB2 Resources
- For more information on using the IBM DB2 XA switch module, including the Open String definition and details of supported SQL operations, see the following:
- The
Database Access Support topic for Third-party Software in the
Start Here section of this documentation.
- The
Transaction Managers help topic available in the IBM RDBMS documentation.
- DB2 9.1 - The
X/Open XA Interface programming considerations help topic available in the IBM RDBMS documentation.
The MQSeries XA Switch
The ESMQXA module is provided as part of the product and does not need to be built. The filename for the built module is
esmqxa.dll.
By default, the ESMQXA module operates in two-phase commit mode. You can set the environment variable ES_MQ_1PC to Yes or True in order for the module to operate in one-phase commit mode, but you should only do this if advised to by Micro Focus.
In UNIX environments, to use the MQSeries switch, you must have IBM WebSphere MQSeries Server or IBM WebSphere MQSeries Client installed. If they are not installed at the default location, you must use the ES_MQ_LIB_XA environment variable (or the ES_MQ_LIB_T environment variable for threaded environments) to identify the full name including the path of the IBM MQ XA library appropriate to your platform.
Important: In AIX environments the library is an object inside a shared object. For example:
ES_MQ_LIB_XA="/usr/mqm/lib64/libmqmxa64.a(libmqmxa64.o)"
Important: Set the MQ Connection in one of these two places:
- XA Resource Manager
- System Initialization Table (SIT)
Do not set it in both. Doing so results in two connections between the
Server Enterprise Edition region and the MQ Queue Manager. Only one is required.