Start of change

Configuring databases for coordinated message flows with Sybase

If your message flow interacts with a Sybase database, and you want to coordinate the updates made to the database with other actions within the message flow, configure your broker to manage these updates.

Before you start:

To complete this task, you must have completed the following task:

The following instructions describe how to configure your Sybase data sources for XA coordination. For more information about configuring Sybase for XA coordination with WebSphere MQ, see the section called "Sybase configuration" in WebSphere MQ System Administration. WebSphere Message Broker supports only Sybase Version 12_5.

To perform XA coordination with Sybase, you can use either WebSphere MQ Version 5.3 or WebSphere MQ Version 6.0 as the transaction coordinator:

Configuring Sybase with WebSphere MQ Version 5.0 as the transaction coordinator

To configure your Sybase data sources for XA coordination using WebSphere MQ Version 5.0 as the transaction coordinator:

  1. Ensure that the DataSourceUserid specified when the broker is created is a user ID that has been granted the Sybase role of dtm_tm_role.
  2. Create the following symbolic links:
    On AIX:
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On HP-UX:
    ln –s install_dir/merant/lib/libUKicu20.sl  /var/mqm/exits/libUKicu20.sl 
    ln –s install_dir/merant/lib/UKase20.sl /var/mqm/exits/UKase20.sl
    ln –s install_dir/merant/lib/UKasedtc20.sl /var/mqm/exits/UKasedtc20.sl
    On Solaris (SPARC platform), Solaris (x86-64 platform), and Linux (x86 platform):
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
  3. Configure the broker's queue manager with XA Resource Manager information and specify the switch file that is supplied by WebSphere Message Broker.
    • On UNIX, add an XAResourceManager stanza in the qm.ini file. The qm.ini file is located at /var/mqm/qmgrs/broker_name/qm.ini, where broker_name is the name of the broker that is associated with the queue manager. The name of the switch file depends on the operating system:
      • Start of changeOn AIX, Solaris (SPARC platform), Solaris (x86-64 platform), and Linux (x86 platform), specify UKasedtc20.soEnd of change
      • On HP-UX, specify UKasedtc20.sl
      Examples of the XAResourceManager stanza for each operating system are shown below.
    • On Windows, in WebSphere MQ Services, configure the values on the Resources page of the queue manager's Properties dialog box. The name of the switch file is UKase20.dll. An example of the values to enter on the Resources page is shown below.
Sybase is now configured for XA coordination with WebSphere MQ Version 5.3 coordinating transactions.

Examples

In the following examples:
  • install_dir is the location in which the WebSphere Message Broker run time is installed
  • MyServerName is the name of the TCP/IP host on which the Sybase ASE server resides.
  • MyPortNumber is the TCP/IP port on which the Sybase ASE server is listening.
  • uid is the user name with which you want to connect to the data source
  • pwd is the password associated with the user name
AIX:
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=install_dir/merant/lib/UKasedtc20.so
    XAOpenString=-NSYBASEDB -AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
HP-UX:
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=install_dir/merant/lib/UKasedtc20.sl
    XAOpenString=-NSYBASEDB -AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
Linux (x86 platform):
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=install_dir/merant/lib/UKasedtc20.so
    XAOpenString=-NSYBASEDB –AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
Start of changeSolaris (SPARC platform):End of change
Start of change
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=install_dir/merant/lib/UKasedtc20.so
    XAOpenString=-NSYBASEDB –AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
End of change
Start of changeSolaris (x86-64 platform):End of change
Start of change
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=install_dir/merant/lib/UKasedtc20.so
    XAOpenString=-NSYBASEDB –AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
End of change
Windows (using WebSphere MQ Services):
Field Value
SwitchFile
C:\Program Files\IBM\MQSI\6.0\bin\UKase20.dll
XAOpenString -NSYBASEDB -AMyServerName,MyPortNumber -WWinsock -Uuid -Ppwd -K2
ThreadOfControl THREAD
Related concepts
Message flows overview

Configuring Sybase with WebSphere MQ Version 6.0 as the transaction coordinator

To configure your Sybase data sources for XA coordination using WebSphere MQ Version 6.0 as the transaction coordinator:

  1. Ensure that the DataSourceUserid specified when the broker is created is a user ID that has been granted the Sybase role of dtm_tm_role.
  2. Create the following symbolic links:
    On AIX:
    ln –s install_dir/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    ln –s install_dir/DD64/lib/UKase20.so /var/mqm/exits64/UKase20.so
    ln –s install_dir/DD64/lib/UKasedtc20.so /var/mqm/exits64/UKasedtc20.so
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On HP-UX:
    ln –s install_dir/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    ln –s install_dir/DD64/lib/UKase20.sl /var/mqm/exits64/UKase20.sl
    ln –s install_dir/DD64/lib/UKasedtc20.sl /var/mqm/exits64/UKasedtc20.sl
    ln –s install_dir/merant/lib/libUKicu20.sl  /var/mqm/exits/libUKicu20.sl 
    ln –s install_dir/merant/lib/UKase20.sl /var/mqm/exits/UKase20.sl
    ln –s install_dir/merant/lib/UKasedtc20.sl /var/mqm/exits/UKasedtc20.sl
    On Linux (x86 platform):
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On Solaris (SPARC platform):
    ln –s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln –s install_dir/DD64/lib/UKase20.so /var/mqm/exits64/UKase20.so	
    ln –s install_dir/DD64/lib/UKasedtc20.so /var/mqm/exits64/UKasedtc20.so
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so 
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
    On Solaris (x86-64 platform):
    ln –s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln –s install_dir/DD64/lib/UKase20.so /var/mqm/exits64/UKase20.so	
    ln –s install_dir/DD64/lib/UKasedtc20.so /var/mqm/exits64/UKasedtc20.so
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s install_dir/merant/lib/UKase20.so /var/mqm/exits/UKase20.so
    ln –s install_dir/merant/lib/UKasedtc20.so /var/mqm/exits/UKasedtc20.so
  3. Configure the broker's queue manager with XA Resource Manager information and specify the switch file that is supplied by WebSphere Message Broker.
    • On UNIX, add an XAResourceManager stanza in the qm.ini file. The qm.ini file is located at /var/mqm/qmgrs/broker_name/qm.ini, where broker_name is the name of the broker that is associated with the queue manager. The name of the switch file depends on the operating system:
      • Start of changeOn AIX, Solaris (SPARC platform), and Solaris (x86-64 platform), specify UKasedtc20.soEnd of change
      • On HP-UX, specify UKasedtc20.sl
      Examples of the XAResourceManager stanza for each operating system are shown below.
Sybase is now configured for XA coordination with WebSphere MQ Version 6.0 coordinating transactions.

Examples

In the following examples:
  • install_dir is the location in which the WebSphere Message Broker run time is installed
  • MyServerName is the name of the TCP/IP host on which the Sybase ASE server resides.
  • MyPortNumber is the TCP/IP port on which the Sybase ASE server is listening.
  • uid is the user name with which you want to connect to the data source
  • pwd is the password associated with the user name
AIX:
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=UKasedtc20.so
    XAOpenString=-NSYBASEDB -AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
HP-UX:
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=UKasedtc20.sl
    XAOpenString=-NSYBASEDB -AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
Start of changeLinux (x86 platform):End of change
Start of change
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=UKasedtc20.so
    XAOpenString=-NSYBASEDB –AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
End of change
Start of changeSolaris (SPARC platform):End of change
Start of change
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=UKasedtc20.so
    XAOpenString=-NSYBASEDB –AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
End of change
Start of changeSolaris (x86-64 platform):End of change
Start of change
XAResourceManager:
    Name=SYBASEXA
    SwitchFile=UKasedtc20.so
    XAOpenString=-NSYBASEDB –AMyServerName,MyPortNumber -Uuid -Ppwd -K2
    XACloseString=
    ThreadOfControl=THREAD
End of change
Related concepts
Message flows overview
End of change