Configure your integration node environment to globally
coordinate message flow transactions with updates in Sybase databases
under the control of a queue manager.
Before you begin
On distributed systems, a WebSphere® MQ queue manager that is associated
with the integration node performs the transaction manager role, which
means that IBM® Integration Bus requires access
to WebSphere MQ when processing messages.
For more information about using WebSphere MQ with IBM Integration Bus, see Installing WebSphere MQ.
About this task
To configure your integration node environment for global
coordination by using a WebSphere MQ queue
manager as the transaction manager with the DataDirect drivers:
Procedure
- Run the mqsimanagexalinks command.
- Configure the integration node queue manager with XA resource
manager information for each database that is involved in the transaction
that the queue manager will globally coordinate.
On Linux® and UNIX:
- Open the queue manager's qm.ini file
in a text editor.
The qm.ini file
is at /var/mqm/qmgrs/queue_manager_name/qm.ini,
where queue_manager_name is the name of the integration
node that is associated with the queue manager.
- At the end of the qm.ini file,
paste the following stanza:
XAResourceManager:
Name=SYBASEXA
SwitchFile=UKasedtc95
.so
XAOpenString=-NSYBASEDB -AMyServerName,MyPortNumber -Uuid -Ppwd -K2
XACloseString=
ThreadOfControl=THREAD
- On the XAOpenString line, replace
the following values with values that are appropriate for your configuration:
- MyServerName is the name of the TCP/IP host
that hosts the Sybase ASE server.
- MyPortNumber is the TCP/IP port on which the
Sybase ASE server is listening.
- uid must be the user name that the integration node uses to connect to the
database.
You can define the user name that the integration node uses in a number of ways;
make sure that you specify the correct name in this file. The integration node determines the user name
by checking the following conditions in the order listed:
- A specific user name and password for this data source name (DSN),
that you have defined by running the mqsisetdbparms command.
- A default user name and password for all DSNs, that you have defined
by running the mqsisetdbparms command.
- The integration node service user
name, which you define with the -i parameter
on the mqsicreatebroker command
- pwd is the password that is associated with
the user name.
- Accept the default values for all the other lines in
the stanza.
On Windows:
- From the Start menu, open WebSphere MQ Explorer.
- Open the Properties dialog box, then open XA
resource managers.
- In the SwitchFile field, enter
the name of the switch file,
ukase95
.dll
.
- In the XAOpenString field, paste
the following string:
-NSYBASEDB -AMyServerName,MyPortNumber -WWinsock -Uuid -Ppwd -K2
- In the XAOpenString field, replace
the values with values that are appropriate for your configuration:
- install_dir is the
location in which IBM Integration Bus is installed.
- MyServerName is the name of the TCP/IP host
that hosts the Sybase ASE server.
- MyPortNumber is the TCP/IP port on which the
Sybase ASE server is listening.
- uid must be the user name that the integration node uses to connect to the
database.
You can define the user name that the integration node uses in a number of ways;
make sure that you specify the correct name in this file. The integration node determines the user name
by checking the following conditions in the order listed:
- A specific user name and password for this data source name (DSN),
that you have defined by running the mqsisetdbparms command.
- A default user name and password for all DSNs, that you have defined
by running the mqsisetdbparms command.
- The integration node service user
name, which you define with the -i parameter
on the mqsicreatebroker command
- pwd is the password that is associated with
the user name.
For example:
-NSYBASEDB -Adiaz,4100 -WWinsock -Uwbrkuid -Pwbrkpw -K2
- Accept the default values for all the other fields on
the page.
-
The Sybase switch file is supplied by IBM Integration Bus, and uses static XA registration (see Configuring databases for global coordination of transactions).
- Stop then restart the queue manager to apply the changes, because
qm.ini is read only while the queue manager is running. Before you restart the queue manager, ensure that the
ODBCINI
and
ODBCSYSINI
environment variables have been exported, and that the user ID that the
queue manager processes will run under has read access to the odbc.ini and
odbcinst.ini files. To stop and restart the queue manager, enter
the following commands, where
queue_manager_name is
the name of the queue manager:
endmqm queue_manager_name
strmqm queue_manager_name
When the queue manager restarts, check the
queue manager log for all warnings that are associated with the restart.
The log files are located in /var/mqm/qmgrs/queue_manager_name/errors,
where queue_manager_name is the name of the queue
manager that you restarted.
When the queue manager restarts successfully,
the changes that you made to qm.ini are applied.
- Stop then restart the queue manager
to apply the changes.
To stop and restart the queue manager,
enter the following commands, where
queue_manager_name is
the name of the queue manager:
endmqm queue_manager_name
strmqm -si queue_manager_name
When the queue manager restarts, check
the queue manager log for all warnings that are associated with
the restart. The log files are located in install_dir\WebSphere
MQ\Qmgrs\QMGR
\errors,
where install_dir is
the location in which the integration node is
installed and QMGR is
the name of your WebSphere MQ Queue manager.
When the queue manager restarts successfully,
the changes that you made are applied.
Results
Sybase is now configured for global
coordination with your queue manager coordinating the transactions.
What to do next
You can deploy globally coordinated message flows to the
integration node.