目前环境:
ESB版本:wmb8.0
系统:Linux 6.4
现在要mb要通过odbc连接到数据库
1.配置ODBC文件
(a) 从MB的安装目录/opt/ibm/mqsi/8.0.0.1/ODBC/unixodbc复制odbc.ini,odbcinst.ini文件到用户目录,使用root用户修改拥有用户和权限
chown mqm:mqbrkrs odbc.ini·
chown mqm:mqbrkrs odbcinst.ini
chmod -R 775 odbc.ini
chmod-R 775 odbcinst.ini
(b) 切换到mbadmin用户修改环境变量添加ODBCINI 和ODBCSYSI路径指向odbc.ini,odbcinst.ini文件
exportODBCINI=/home/mbadmin/odbc.ini
exportODBCSYSINI=/home/mbadmin/odbcinst.ini
修改完成后执行source .bash_profile使修改生效
(c) 修改odbc.ini文件,这里连接ORACLE数据库,只修改前5项即可 Driver指向MB安装目录下的驱动,注意紫色的[ORACLEDB] 这个是数据源的名称
(d) 在mbadmin用户的.bash_profile环境变量文件中添加如下信息,注意路径随着安装位置而变化(不同版本的MB可能文件夹名称也不同,注意核对)
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/xml4c/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/xml4c/lib64:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/jre16/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/jre16/lib/sparcv9/server:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/jre16/bin:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/ODBC/V6.0/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/xlxpc/lib/:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/ibm/mqsi/8.0.0.1/bin/:$LD_LIBRARY_PATH
exportLD_LIBRARY_PATH
(e) 给MB绑定ODBC数据源
mqsisetdbparms <代理名称> -n <odbc数据源名称> -u <用户名> -p <密码>
mqsisetdbparms MB7BROKER -n ORACLEDB-u esb11 -p esb22
(f) 在需要查数据库的compute节点的属性中写上数据源,然后直接写sql就能查数据库了
2. 使用root用户安装unixODBC进行连通性测试(这个可以不安装,只是为了测试odbc是否配置正确)
(a) 顺序执行命令
tar zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0
./configure --prefix=/app/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/lib-bindir=/usr/bin --sysconfdir=/etc
make
make install
安装完成后执行isql出现如下界面,安装正常
(b) 执行: isql 数据源 用户名 密码 –v 连接数据库
如果出现isql: error while loading shared libraries: libodbc.so.1:cannot open shared object file: No such file or directory异常消息
在/etc/ld.so.conf文件中加入libodbc.so.1文件所在的路径/usr/local/unixODBC/lib/
执行 ldconfig命令使修改生效