WMB Compute 节点访问数据库
在WMB中访问数据库有多种方式,可以用节点映射如:Database,Filter,Warehouse,Mapping节点等;也可以使用esql语句操作数据库数据。
下面以Compute节点为例,使用Oracle数据库,esql语句查询数据,修改数据,插入数据。
1、新建Oracle数据库sjxhpt。过程(略)
2、建立数据源(ODBC)
(1)打开管理工具->数据源(ODBC)->系统DSN标签,选择数据源驱动程序
注意:对于Oracle 和Sybase数据库,要使用MB专用的数据源驱动:
Oracle:WebSphere Message Broker DataDirect Technologies 6.0 32-BIT Oracle Wire Protocol
Sybase:WebSphere Message Broker DataDirect Technologies 6.0 32-BIT Sybase Wire Protocol
(2)General/常规标签设置
输入要连接的数据库主机,端口,服务名,输入后可以测试连接。
注意:当连接Oracle 10g及以上版本时,输入Service Name/服务名;当连接Oracle 9i及以下版本时,输入SID
(3)Advanced/高级标签设置
勾选Enable SQLDescribeParam,Procedure Returns Results
完成后,在窗体中可以看到刚才添加的系统数据源,可以通过配置,对数据源进行修改。
3、使用mqsisetdbparms命令绑定数据源
使用命令:mqsisetdbparms MB7BROKER -n RESERVDB -u <user ID> -p <password>。如果broker为缺省代理:MB7BROKER,则执行依次为:
(1)停止代理:mqsistop MB7BROKER;
(2)绑定数据源:mqsisetdbparms MB7BROKER -n SJXHPT -u userId -p mypw
(3)启动代理:mqsistart MB7BROKER;或重启代理:mqsireload MB7BROKER -e default
以后如果不想使用这个数据源了,可以执行以下命令删除:
mqsisetdbparms MB7BROKER -n test -d
注:这个命令是在MB控制台执行才有效。而有的人找不到MB的控制台,可以用以下方法:
(1)在C:\Program Files\IBM\MQSI\7.0\bin目录下找到mqsiprofile.cmd,双击打开控制台;
(2)有时双击mqsiprofile.cmd时,控制台窗体一闪而过,此时可以在运行在打开 cmd,分别执行以下命令:
此时看到C:\Program Files\IBM\MQSI\7.0\bin>,说明已成功打开MB控制台。
4、建立消息流项目,并建立消息流。使用Compute节点,如下图所示:
(1)Compute节点属性:指定其数据源为第2步建立数据源;
此时esql代码为:
插入:insert into Database.sys_log(operatetype) values('插入数据');
修改:update Database.sys_log as T set T.operatetype='修改数据';
删除:deleta Database.sys_log as T where T.operatetype='删除数据';
查询结果可用全局环境变量Environment存储,一般存储在Environment.Variables下面:
查询第一条数据:set Environment.Variables.operatetype=THE(select T.operatetype from Database.sys_log as T );
查询多条数:set Environment.Variables.operatetype[] =select T.operatetype from Database.sys_log as T ;
(2)没有指定Compute节点的数据源或是使用多数据源:
应使用Database.<DataSourceName>.<SchemaName>.<TableName>来引用数据相应的数据库。其中,最前面的Database是保留字(关键字)表示后继是一个数据库对象;<DataSourceName>是表示数据源名称;<SchemaName>表示该表所属的模式名,对于oracle来说,即是专门的用户名;<TableName>即操作的数据表名称;大小写不区分。
插入:insert into Database.sjxhpt.sjxhpt.sys_log(operatetype) values('插入数据');
5、归档部署测试(略)
注:原创博文,转载引用请指明出处。欢迎指出错误,探讨问题。