配置对数据库的访问

代理使用 ODBC 来访问其数据库,您必须在每个代理系统上设置 ODBC 更新开始数据源名称(DSN)定义更新结束更新开始通过 ODBC 访问数据库的每个程序都创建一个连接来执行该操作。任何时间都可以有使用相同 DSN 定义的多个连接。更新结束本主题描述了代理数据库所需的连接以及必须为连接定制的 ODBC 参数:

如果使用缺省配置向导或数据库命令在 Windows 上创建代理或数据库,将为您自动创建 ODBC 更新开始DSN更新结束 连接。

更新开始要显式定义 DSN,链接到操作系统和连接类型的相应主题。更新结束

代理数据库连接

代理所需的数据库连接数目在某种程度上取决于它所处理的消息流操作。每个代理都需要以下一些连接:

  • 5 个由内部代理线程使用的连接。
  • 如果拓扑已经部署,则每个发布/预订邻居需要 1 个连接。
  • 每个包含发布节点的消息流线程需要 1 个连接。
  • 每个用于解析 MRM 消息的消息流需要 1 个连接。
  • 如果将 SCADA 节点用于 WebSphere MQ Everyplace,则需要更多连接。需要添加的确切连接数目取决于是否使用线程池(这由 SCADAInput 节点的使用线程池属性确定):
    • 如果没有选择(缺省设置)使用线程池,则添加将要连接到 SCADAInput 节点的 SCADA 客户机数目。
    • 如果选择了使用线程池,则在 SCADAInput 节点的最大线程数属性中添加值。缺省值为 500。

如果对不同的代理使用同一数据库,则在计算时必须将所有代理考虑在内。

只有使用保留的发布内容时,邻居和发布节点才需要使用连接。

当您启动代理时,它将打开自身运行所需的所有与代理数据库的连接。当您停止代理时,它将释放当前所有的数据库连接句柄。

如果将 DB2 用作数据库,则 DB2 采取的缺省操作是将指向数据库的并发连接数限制为 maxappls 配置参数的值。maxappls 的缺省值为 40。如果您认为代理可能需要的连接数超出 maxappls 的值,请根据您的计算将此值和关联的参数 maxagents 增大到新的值。

ODBC.ini 参数

通过更新以下可配置参数列表来配置模板文件。如下所示,某些参数不适用于所有数据库。

[ODBC Data Sources]
本部分描述了 .odbc.ini 文件中所配置数据库的数据源名称 (DSN)。您必须对本部分进行配置,从而显示所有的数据库,并且您还必须为每个数据库配置一节。
更新开始地址(SQL Server 通信协议定义)更新结束
更新开始指定服务器的网络地址(对于本地和远程数据库,该地址是必需的)。按如下格式指定 IP 地址:
<servername or IP address>, <portnumber>
更新结束
Driver
  • 如果您使用的是 DB2,则指定与 DB2 安装匹配的驱动程序库的位置。
  • 如果您使用的是 Oracle 或 Sybase,则完全按显示使用路径。
描述
您可以选择更改描述。此文本字段仅供参考,而与操作无关。
数据库(从 UNIX、Informix 访问的 DB2、Sybase更新开始、SQL Server更新结束
  • 如果您使用的是 DB2,则指定数据库别名。如果您使用的是远程 DB2 数据库,则必须设置客户机与服务器的连接,以将此别名解析成正确的数据库。有关更多信息,请参阅 DB2 文档。
  • 如果您使用的是从 UNIX 访问的 Sybase 更新开始或 SQL Server更新结束,则指定在缺省情况下希望连接的数据库的名称。如果您不指定值,那么在缺省情况下将连接系统管理员为每个用户定义的数据库。
  • 更新开始如果您使用的是 Informix,则指定 IDS 服务器上的 Sybase 数据库的名称。更新结束
更新开始HostName(Oracle 64 位通信协议)更新结束
更新开始指定 Oracle 数据库运行时使用的 IP 地址。更新结束
NetworkAddress(仅限 Sybase)
指定 Sybase 服务器的网络地址(对于本地数据库和远程数据库来说,该地址是必需的)。按如下格式指定 IP 地址:
<servername or IP address>, <portnumber>

例如,Sybaseserver, 5000。您也可以直接指定 IP 地址,例如,199.226.224.34, 5000。可以在 Sybase 接口文件中找到端口号,该文件名通常是 interfacesinterfacsql.ini(取决于操作系统)。

更新开始PortNumber(Oracle 64 位通信协议)更新结束
更新开始指定 Oracle 数据库运行时使用的端口号。更新结束
ServerName(Sybase、Oracle更新开始和 Informix更新结束
  • 如果您使用的是 Oracle,则指定解析成“Connect Descriptor”的“Service Name”,例如通过 TSNAMES.ORA 文件中的某个映射进行解析。 更新开始这仅适用于 32 位客户机驱动程序。更新结束
  • 如果您使用的是 Sybase,则指定服务器上定义的 Sybase 数据库服务器的名称。
  • 更新开始如果您使用的是 Informix,则指定 Informix IDS 服务器的名称。更新结束
更新开始SID(Oracle 64 位通信协议)更新结束
更新开始指定该服务器上数据库的 Oracle 系统标识。更新结束

设置环境以访问数据库

一旦完成 ODBC 更新开始数据源名称更新结束的配置,您还必须配置环境以发出控制台命令和运行代理,使它能访问所需的数据库。例如,如果您有一个 DB2 代理数据库,您必须将 DB2 客户机库添加到库搜索路径中。

Windows 平台上,安装数据库产品时可能已完成该步骤。在 UNIX 系统和 Linux 上,您必须对需要访问的每个数据库运行概要文件。例如,在 DB2 上,您必须运行 db2profile;其他数据库供应商提供类似的概要文件。

更新开始如果您使用的是 64 位 DB2 实例,请确保在运行 db2profile 后将 <DB2 instance directory>/sqllib/lib32 添加至库搜索路径环境变量的开头。如果使用的是 64 位 Oracle 实例,则确保将 $ORACLE_HOME/lib32 添加到库搜索路径环境变量的开始处。如果使用的是 64 位执行组,则确保将环境变量 MQSI_LIBPATH64 设置为包括常规 64 位数据库。更新结束

另外,请确保访问正确的库集(32 位),因为它可能不是缺省项。

更新开始如果您使用的是 WebSphere MQ V6,请根据您的操作环境参阅《WebSphere MQ 快速入门》一书中『64 位队列管理器的含义』一节。更新结束

声明 | 商标 | 下载 | | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后更新:2006/05/19
ah14440_