Create a user-defined interface for XA data sources

The HCL OneDB™ Transaction Manager recognizes XA-compliant external data sources, which can participate in two-phase commit transactions. You can invoke support routines for each XA-compliant, external data source that participates in a distributed transaction at a particular transactional event, such as prepare, commit, or rollback. This interaction conforms to X/Open XA interface standards.

You can create user-defined support routines to provide data access mechanisms for external data from XA data sources. The interaction between HCL OneDB and external data sources is through a set of purpose routines, such as xa_open( ), xa_start( ), xa_prepare( ), xa_rollback( ), xa_commit( ), xa_recover( ), xa_complete( ), xa_forget( ), xa_close( ), and xa_end( ) For more information these purpose functions, see the HCL OneDB DataBlade® API Programmer's Guide.

You can create and drop XA-compliant data source types and instances of XA-compliant data sources. After you create an external XA-compliant data source, transactions can register and unregister the data source using the mi_xa_register_xadatasource( ) or ax_reg( ) and mi_xa_unregister_xadatasource( ) or ax_unreg( ) functions. For information about creating and dropping XA-compliant data source types and instances of XA-compliant data sources and information about the functions that transactions use to register and unregister the data source, see the HCL OneDB DataBlade API Programmer's Guide and the HCL OneDB DataBlade API Function Reference .

The MQ DataBlade module is an example of a set of user-defined routines that provide data access mechanisms for external data from XA data sources and provides XA-support functions to provide transactional support for the interaction between HCL OneDB and . For more information, see the HCL OneDB Database Extensions User's Guide.