如果使用 WebSphere MQ V6 和 XA 协调或使用 64 位执行组,您需要配置 64 位 ODBC
数据源名称
。确保将环境变量 MQSI_LIBPATH64 设置包含常规 64 位数据库
。XA 协调的数据库必须以 ODBCINI64 节文件显示,以便 WebSphere MQ 可以执行 XA 协调。WebSphere MQ V6 支持 64 位环境。
在 UNIX 环境中没有 ODBC 管理程序或驱动程序管理器。要配置 ODBC 数据源名称(DSN)定义,您必须编辑必需的系统信息,这些信息保存在一个名为 odbc64.ini 的纯文本文件。
将 ODBCINI64 环境变量设置为指向文件,并指定完整路径和文件名。如果不设置该变量,则路径缺省为$MQSI_REGISTRY/odbc/odbc64.ini,它是在安装 WebSphere Message Broker 时创建的。该文件必须具有 mqm:mqbrkrs 文件所有权。
样本模板以 <install_dir>/DD64/odbc64.ini 文件的形式提供,该文件中包含了一些如何配置 DSN 的示例,此处的 DSN 驻留在 WebSphere Message Broker 所支持的每个数据库中。以下显示了用于支持的平台的模式文件样式。这些描述说明了对各种支持数据库的建议配置。
在各个节中,用斜体显示那些必须进行配置以与本地要求相匹配的各个条目(这些条目的描述位于ODBC.ini 参数中)。所有显示的条目都必须保留,但在配置不需要的情况下,您可以除去整个节(例如,如果您使用 Oracle 数据库,则可除去对于 DB2 和 Sybase 显示的各个节)。
为缺省文件创建一个副本,将 ODBCINI64 设置为指向该副本,并对创建的副本而不是缺省文件做出任何更改。
确保已设置适当的库搜索路径环境变量(在 Solaris 上是 LD_LIBRARY_PATH),以反映出要使用的数据库产品。请参阅数据库产品文档以了解更多详细信息。
如果您使用的是 Linux(zSeries 平台)或 Linux(POWER 平台),则无需定义 ODBC 连接。而消息流中使用的数据源名称即为数据库的 DB2 别名。
在 AIX 上,如果要将 DB2 用作数据库,则单个过程允许最多 10 个连接使用共享内存。这表示如果您同时部署多个或两个消息流,则可能遇到表现为 DB2 错误消息 SQL1224N 的连接失败。该连接错误来自代理执行组,报告在系统日志中。要避免该问题,可使用 TCP/IP 方式连接至 DB2。有关如何执行该操作的详细说明,请参阅连接 DB2 时,系统报告 DB2 错误消息 SQL1224N。
以下是 odbc64.ini 信息样本:
[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 ProtocolSQLSERVERDB
=DataDirect 5.0 64bit SQL Server Wire Protoco
INFORMIXDB
=IBM Informix ODBC Driver
[WBRKBKDB] Driver=libdbWrapper64.so Description=WBRKBKDB DB2 ODBC Database Database=WBRKBKDB
[MYDB] Driver=libdbWrapper64.so Description=MYDB DB2 ODBC Database Database=MYDB
[ORACLEDB] Driver=<Your installation 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 ProcedureRetResults=1 EnableStaticCursorForLongData=0 ApplicationUsingThreads=1 EnableDescribeParam=1 OptimizePrepare=1 WorkArounds=536870912
[SYBASEDB]
Driver=<Your installation directory>/DD64lib/UKase20.so
Description=DataDirect 5.0 Sybase Wire Protocol
Database=<sybasedb>
ApplicationsUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
SelectMethod=0
NetworkAddress=<YourServerName,YourPortNumber>
SelectUserName=1
[SQLSERVERDB] Driver=<Your installation directory>/DD64/lib/UKmsss20.so Description=DataDirect 5.0 SQL Server Wire Protocol Address=<Your SQLServer host>,<your SQLServer port> AnsiNPW=Yes Database=<Your Database Name> QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.so
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/DD64/lib/odbctrac.so InstallDir=<Your installation directory>/DD64 UseCursorLib=0 IANAAppCodePage=4UNICODE=UTF-8
[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 ProtocolSQLSERVERDB
=DataDirect 5.0 64bit SQL Server Wire Protocol
INFORMIXDB
=IBM Informix ODBC Driver
[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 installation 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
EnableStaticCursorForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
[SYBASEDB] Driver=<Your installation directory>/DD64/lib/UKase20.sl Description=DataDirect 5.0 Sybase Wire Protocol Database=<sybasedb> ApplicationUsingThreads=1 EnableDescribeParam=1 OptimizePrepare=1 SelectMethod=0 NetworkAddress=<YourServerName,YourPortNumber> SelectUserName=1
[SQLSERVERDB] Driver=<Your installation directory>/DD64/lib/UKmsss20.sl Description=DataDirect 5.0 SQL Server Wire Protocol Address=<Your SQLServer host>,<your SQLServer port> AnsiNPW=Yes Database=<Your Database Name> QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.sl
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/DD64/lib/odbctrac.sl InstallDir=<Your installation directory>/DD64 UseCursorLib=0 IANAAppCodePage=4UNICODE=UTF-8
[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 ProtocolSQLSERVERDB
=DataDirect 5.0 64bit SQL Server Wire Protocol
INFORMIXDB
=IBM Informix ODBC Driver
[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 installation 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
EnableStaticCursorForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
[SYBASEDB] Driver=<Your installation directory>/DD64/lib/UKase20.so Description=DataDirect 5.0 Sybase Wire Protocol Database=<sybasedb> ServerName=<YourServerName> ApplicationUsingThreads=1 EnableDescribeParam=1 OptimizePrepare=1 SelectMethod=0 NetworkAddress=<YourServerName,YourPortNumber> SelectUserName=1
[SQLSERVERDB] Driver=<Your installation directory>/DD64/lib/UKmsss20.so Description=DataDirect 5.0 SQL Server Wire Protocol Address=<Your SQLServer host>,<your SQLServer port> AnsiNPW=Yes Database=<Your Database Name> QuoteId=No
[INFORMIXDB]
Driver=<Your Informix Client directory>/lib/cli/iclit09b.so
Description=IBM Informix ODBC Driver
ServerName=<Your server name>
Database=<Your Datasource>
[ODBC] Trace=0 TraceFile=<A Directory with plenty of free space>/odbctrace.out TraceDll=<Your installation directory>/DD64/lib/odbctrac.so InstallDir=<Your installation directory>/DD64 UseCursorLib=0 IANAAppCodePage=4UNICODE=UTF-8