The mi_xa_get_xadatasource_rmid() function
The mi_xa_get_xadatasource_rmid() function gets the resource manager ID that was previously created in the database for an XA-compliant, external data source.
Syntax
mi_integer mi_xa_get_xadatasource_rmid(mi_string *xasrc)
- xasrc
- The user-defined name of the XA data source.
Valid in client LIBMI application? | Valid in user-defined routine? |
---|---|
No | Yes |
Usage
The mi_xa_get_xadatasource_rmid() function can be used while invoking the ax_reg() or the ax_unreg() function in subsequent calls. If successful, this function returns the resource manger ID.
The format of the xasrc name is [owner].xadatasourcename.
If the owner is specified, the mi_xa_get_xadatasource_rmid() function
searches for the owner and the data source name. If the owner is not
specified, the function:
- Searches for the XA data source name in a non-ANSI database.
- Adds the current user to the XA data source name when searching an ANSI database.
If you receive an error, check for any of the following
problems:
- Make sure the value for xasrc is correct.
- Make sure that the mi_xa_get_xadatasource_rmid() function
is not called:
- From the sub-ordinator of a distributed transaction.
- In a non-logging database
- Make sure that the xasrc XA data source is created in the database.
For more information about working with XA data sources, see the HCL Informix DataBlade API Programmer's Guide.
Return values
- > 0
- The resource manager ID.
- MI_ERROR
- An error occurred while getting the resource manager ID.
- MI_NOSUCH_XASOURCE
- The XA data source does not exist in the system.
- MI_INVALID_XANAME
- The user-defined name (owner.xadatasourcename) for an instance of XA data source is not valid.