Defining a connection to a 64-bit database on UNIX

Start of changeIf you are using WebSphere MQ Version 6 and XA coordination, or if you have created 64-bit execution groups, you need to configure a 64-bit ODBC data source name (DSN). Ensure that you set the environment variable MQSI_LIBPATH64 to include the regular 64-bit database libraries. For example, if you are using a 64-bit DB2 instance, ensure that you add DB2_instance_directory/sqllib/lib64 to the start of the library search path environment variable.End of change

The XA-coordinated databases must appear in the ODBCINI64 stanza file so that WebSphere MQ can perform the XA coordination. WebSphere MQ Version 6 supports a 64-bit environment.

Start of changeIn the UNIX environment, there is no ODBC Administrator or Driver Manager. To configure an ODBC DSN definition, you must edit the required system information, which is held in a plain text file called odbc64.ini.End of change

If you are using Linux (zSeries platform) or Linux (POWER platform), you do not need to define an ODBC connection. Instead, the data source name used in the message flow is the same as the DB2 alias of the database.

Start of changeFor the UNIX platforms, set the ODBCINI64 environment variable to point to the file, specifying a full path and file name. If you do not set this variable, the path defaults to $MQSI_REGISTRY/odbc/odbc64.ini. You must copy your odbc64.ini file to this directory and set file ownership to mqm:mqbrkrs.End of change

Start of changeA sample template is provided in the file install_dir/DD64/odbc64.ini which contains examples of how to configure a DSN residing in each of the databases supported by WebSphere Message Broker The example stanzas for the supported platforms are displayed below. The examples show the recommended configuration for the supported databases.End of change

The entries in the stanzas that you must configure to match your local requirements are shown in italics (descriptions of these entries are provided in Editing the odbc64.ini parameters). You must retain all the entries shown, but you can remove a complete stanza if you do not require it for your configuration (for example, if you are using an Oracle database, you can remove the stanzas shown for DB2 and Sybase).

Make a copy of the default file, set ODBCINI64 to point to this copy, and make any changes to the copied file rather than to the default.

Ensure that the appropriate library search path environment variable (for example, LD_LIBRARY_PATH on Solaris) is set to reflect the database products to be used. Refer to your database product documentation for more details.

On AIX, if you are using DB2 as your database, a maximum of 10 connections using shared memory are allowed from a single process. This means that if you deploy more than one or two message flows at the same time, you might see connection failures characterized by the DB2 error message SQL1224N. The connection errors are reported in the system log from the broker's execution group. To avoid this problem, you can use TCP/IP mode to connect to DB2. For detailed instructions on how to do this, see DB2 error message SQL1224N is issued when you connect to DB2.

Here is the sample odbc64.ini information:

AIX
[ODBC Data Sources]
WBRKBKDB=IBM DB2 ODBC Driver
MYDB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 5.0 64bit Oracle Wire Protocol
SYBASEDB=DataDirect 5.0 64bit Sybase Wire Protocol
SQLSERVERDB=DataDirect 5.0 64bit SQL Server Wire Protocol
[WBRKBKDB]
Driver=libdb2Wrapper64.so
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB
 
[MYDB]
Driver=libdb2Wrapper64.so
Description=MYDB DB2 ODBC Database
Database=MYDB
[ORACLEDB]
Driver=<Your install directory>/DD64/lib/UKora20.so
Description=DataDirect 5.0 Oracle Wire Protocol
HostName=<Your Oracle Server Machine Name>
PortNumber=<Port on which Oracle is listening on HostName>
SID=<Your Oracle SID>
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
[SYBASEDB]
Driver=<Your install directory>/DD64lib/UKase20.so
Description=DataDirect 5.0 Sybase Wire Protocol
Database=<Your Database Name>
ApplicationsUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=<YourServerName>,<YourPortNumber>
SelectUserName=1 
 
[SQLSERVERDB]
Driver=<Your install directory>/DD64/lib/UKmsss20.so
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer server port>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
[ODBC]
Trace=0
TraceFile=<A Directory with plenty of free space>/odbctrace.out
TraceDll=<Your install directory>/DD64/lib/odbctrac.so
InstallDir=<Your install directory>/DD64
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8
HP-UX
[ODBC Data Sources]
WBRKBKDB=IBM DB2 ODBC Driver
MYDB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 5.0 64bit Oracle Wire Protocol
SYBASEDB=DataDirect 5.0 64bit Sybase Wire Protocol
SQLSERVERDB=DataDirect 5.0 64bit SQL Server Wire Protocol
[WBRKBKDB]
Driver=libdb2Wrapper64.sl
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB
 
[MYDB]
Driver=libdb2Wrapper64.sl
Description=MYDB DB2 ODBC Database
Database=MYDB
 
[ORACLEDB]
Driver=<Your install directory>/DD64/lib/UKora20.sl
Description=DataDirect 5.0 Oracle Wire Protocol
HostName=<Your Oracle Server Machine Name
PortNumber=<Port on which Oracle is listening on HostName
SID=<Your Oracle SID>
CatalogOptions=0
ProcedureRetResults=1
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
[SYBASEDB]
Driver=<Your install directory>/DD64/lib/UKase20.sl
Description=DataDirect 5.0 Sybase Wire Protocol
Database=<Your Database Name>
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=<YourServerName>,<YourPortNumber>
SelectUserName=1 
 
[SQLSERVERDB]
Driver=<Your install directory>/DD64/lib/UKmsss20.sl
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer server port>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
[ODBC]
Trace=0
TraceFile=<A Directory with plenty of free space>/odbctrace.out
TraceDll=<Your install directory>/DD64/lib/odbctrac.sl
InstallDir=<Your install directory>/DD64
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8
Solaris (SPARC platform)
[ODBC Data Sources]
WBRKBKDB=IBM DB2 ODBC Driver
MYDB=IBM DB2 ODBC Driver
ORACLEDB=DataDirect 5.0 64bit Oracle Wire Protocol
SYBASEDB=DataDirect 5.0 64bit Sybase Wire Protocol
SQLSERVERDB=DataDirect 5.0 64bit SQL Server Wire Protocol
[WBRKBKDB]
Driver=libdb2Wrapper64.so
Description=WBRKBKDB DB2 ODBC Database
Database=WBRKBKDB
 
[MYDB]
Driver=libdb2Wrapper64.so
Description=MYDB DB2 ODBC Database
Database=MYDB
 
[ORACLEDB]
Driver=<Your install directory>/DD64/lib/UKor820.so
Description=DataDirect 5.0 Oracle Wire Protocol
HostName=<Your Oracle Server Machine Name
PortNumber=<Port on which Oracle is listening on HostName
SID=<Your Oracle SID>
CatalogOptions=0
ProcedureRetResults=1
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
[SYBASEDB]
Driver=<Your install directory>/DD64/lib/UKase20.so
Description=DataDirect 5.0 Sybase Wire Protocol
Database=<Your Database Name>
ServerName=<YourServerName>
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=<YourServerName>,<YourPortNumber>
SelectUserName=1 
 
[SQLSERVERDB]
Driver=<Your install directory>/DD64/lib/UKmsss20.so
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=<Your SQLServer host>,<your SQLServer server port>
AnsiNPW=Yes
Database=<Your Database Name>
QuoteId=No
[ODBC]
Trace=0
TraceFile=<A Directory with plenty of free space>/odbctrace.out
TraceDll=<Your install directory>/DD64/lib/odbctrac.so
InstallDir=<Your install directory>/DD64
UseCursorLib=0
IANAAppCodePage=4
UNICODE=UTF-8

You have now configured your 64-bit ODBC data source names on UNIX. Next, you must configure the environment for issuing console commands, and for running the broker, so that it can access the required database libraries. For more information, see Setting your environment to access databases.

Related tasks
Creating a DB2 database on Linux and UNIX systems
Preparing databases on UNIX systems
Customizing DB2 databases
Related reference
Supported databases