Configuring global coordination with Sybase

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

  1. Run the mqsimanagexalinks command.
  2. 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.

    Linux platformUNIX platformOn Linux® and UNIX:

    1. 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.
    2. 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
      
    3. 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:
        1. A specific user name and password for this data source name (DSN), that you have defined by running the mqsisetdbparms command.
        2. A default user name and password for all DSNs, that you have defined by running the mqsisetdbparms command.
        3. 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.
    4. Accept the default values for all the other lines in the stanza.
      For example:
      • On AIX®:
        XAResourceManager:
            Name=SYBASEXA
            SwitchFile=UKasedtc95.so
            XAOpenString=-NSYBASEDB -Adiaz,4100 -Uwbrkuid -Pwbrkpw -K2
            XACloseString=
            ThreadOfControl=THREAD
        
    Windows platformOn Windows:
    1. From the Start menu, open WebSphere MQ Explorer.
    2. Open the Properties dialog box, then open XA resource managers.
    3. In the SwitchFile field, enter the name of the switch file, ukase95.dll.
    4. In the XAOpenString field, paste the following string:
      -NSYBASEDB -AMyServerName,MyPortNumber -WWinsock -Uuid -Ppwd -K2
    5. 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:
        1. A specific user name and password for this data source name (DSN), that you have defined by running the mqsisetdbparms command.
        2. A default user name and password for all DSNs, that you have defined by running the mqsisetdbparms command.
        3. 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
    6. Accept the default values for all the other fields on the page.
  3. The Sybase switch file is supplied by IBM Integration Bus, and uses static XA registration (see Configuring databases for global coordination of transactions).
  4. Linux platformUNIX platformStop 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.
  5. Windows platformStop 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.