跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用存储过程从 WebSphere Message Broker 访问 DB2

Kavitha Suresh Kumar, 高级软件工程师, IBM
Kavitha Suresh Kumar 的照片
Kavitha Suresh Kumar 是印度班加罗尔 IBM 软件实验室 Service Integration Bus 开发团队的高级软件工程师和开发领导人员。她在 IBM 已工作了 10 年,曾效力于 WebSphere MQ、WebSphere Message Broker 和 Service Integration Bus 团队。除那些产品外,她的专长还包括使用软件工程最佳实践改进产品质量。她拥有印度芭莎瑞尔大学的计算机科学学士学位和甘地国立开放大学 (IGNOU) 的经营管理专业的 MBA 学位。您可以通过 kavisuresh@in.ibm.com 联系 Kavitha。

简介: 您可以使用 ESQL、Database 节点和 Mapping 节点从 WebSphere Message Broker 访问数据库存储过程。本文将展示如何从 ESQL 调用存储过程,以及如何使用 Mapping 节点映射存储过程。

发布日期: 2011 年 10 月 17 日
级别: 中级 原创语言: 英文
访问情况 : 934 次浏览
评论: 


简介

IBM® WebSphere® Message Broker(后面简称为 Message Broker)使用 ESQL、Java 编程、Database 节点和 Mapping 节点与各种数据库交互。您可以使用 ESQL、Database 节点和 Mapping 节点从 WebSphere Message Broker 访问数据库存储过程。本文通过两个场景展示如何从 Message Broker 访问 DB2 存储过程。 Credit Debit 场景展示如何使用 ESQL 从 Message Broker 访问 DB2 存储过程,Employee Information Retrieval 场景展示如何使用 Mapping 节点从 Message Broker 访问 DB2 存储过程。

先决条件

要更好地利用本文,则应该拥有一定的 Message Broker、WebSphere MQ 和 DB2 经验。要使用本文中的场景,请在本文的结尾部分 下载 developer_artifacts.zip。此外,您还应该安装下列产品:

  • WebSphere Message Broker Runtime V7
  • WebSphere Message Broker Toolkit V7
  • WebSphere MQ V7
  • DB2 V9.7

使用 ESQL 从 WebSphere Message Broker 访问 DB2 存储过程:Debit Credit 场景

设置 DB2

  1. 在 DB2 中,选择 Open all programs => IBM DB2 => DB2COPY1 => Command Line Tools => Command Line Processor
  2. 创建 SAVG_ACC 数据库:db2 create database SAVG_ACC
  3. 在 SAVG_ACC 数据库中创建表和过程:使用下载文件中的 setupSavingsAccount.sql,执行命令 db2 -vf setupSavingsAccount.sql

清单 1. setupSavingsAccount.sql 文件内容
				
 
connect to SAVG_ACC
drop table "DB2SCHEMA".SAVINGS_ACCOUNT
create table "DB2SCHEMA".SAVINGS_ACCOUNT("ACCOUNT_NO" BIGINT NOT NULL, 
"ACCOUNT_NAME" VARCHAR(50) , "BALANCE" DOUBLE, PRIMARY KEY(ACCOUNT_NO))
INSERT into "DB2SCHEMA".SAVINGS_ACCOUNT VALUES(100003,'JOHN',25990.00)
INSERT into "DB2SCHEMA".SAVINGS_ACCOUNT VALUES(100004,'PETER',75125.00)
INSERT into "DB2SCHEMA".SAVINGS_ACCOUNT VALUES(100005,'ANDREW',72500.00)
INSERT into "DB2SCHEMA".SAVINGS_ACCOUNT VALUES(100006,'MARY',55000.00)
INSERT into "DB2SCHEMA".SAVINGS_ACCOUNT VALUES(100007,'DAVID',69800.00)
drop table "DB2SCHEMA".SAVINGS_ACCOUNT_TRANSACTION
create table "DB2SCHEMA".SAVINGS_ACCOUNT_TRANSACTION("ACCOUNT_NO" BIGINT NOT NULL, 
"ACCOUNT_NAME" VARCHAR(50) , "BALANCE" DOUBLE,"TRANSACTION_AMOUNT" DOUBLE, 
"TRANSACTION_STATUS" VARCHAR(50))
drop procedure "DB2SCHEMA".update_savings_account
CREATE PROCEDURE "DB2SCHEMA".update_savings_account(IN saccount_no INT,IN 
saccount_name CHAR(50), IN amount FLOAT,IN tran CHAR(10), OUT balance FLOAT,
OUT status CHAR(10)) LANGUAGE SQL   BEGIN  DECLARE SQLSTATE CHAR(5); 
DECLARE acc_no INT; DECLARE acc_name CHAR(50); DECLARE bal FLOAT; DECLARE stat CHAR(10);
DECLARE not_found CONDITION FOR SQLSTATE '02000'; DECLARE c1 CURSOR FOR SELECT 
ACCOUNT_NO, ACCOUNT_NAME , BALANCE FROM "DB2SCHEMA".SAVINGS_ACCOUNT WHERE 
ACCOUNT_NO = saccount_no AND ACCOUNT_NAME = saccount_name; DECLARE EXIT HANDLER FOR 
not_found  SET stat = 'NOT FOUND'; Open c1; Fetch c1 into acc_no,acc_name,bal; 
if (tran = 'DEBIT') then if ( amount < bal) then  SET bal = bal - amount ;  
UPDATE "DB2SCHEMA".SAVINGS_ACCOUNT SET BALANCE = bal WHERE ACCOUNT_NO = saccount_no 
AND ACCOUNT_NAME = saccount_name; SET stat = 'SUCCESS' ;INSERT into "DB2SCHEMA".
SAVINGS_ACCOUNT_TRANSACTION values (acc_no,acc_name,bal,amount,
'TRANSACTION COMPLETED SUCCESSFULLY');else SET stat = 'FAILURE' ;INSERT into 
"DB2SCHEMA".SAVINGS_ACCOUNT_TRANSACTION values (acc_no,acc_name,bal,amount,
'TRANSACTION FAILED - INSUFFICIENT FUNDS'); end if; elseif (tran = 'CREDIT') 
then SET bal = bal + amount ;  UPDATE "DB2SCHEMA".SAVINGS_ACCOUNT SET BALANCE = bal 
WHERE ACCOUNT_NO = saccount_no AND ACCOUNT_NAME = saccount_name; SET stat = 'SUCCESS';
INSERT into "DB2SCHEMA".SAVINGS_ACCOUNT_TRANSACTION values (acc_no,acc_name,
bal,amount,'TRANSACTION COMPLETED SUCCESSFULLY'); end if; SET balance = bal; 
SET status = stat;END Disconnect SAVG_ACC   

  1. 创建 LOAN_ACC 数据库:db2 create database LOAN_ACC
  2. 在 LOAN_ACC 数据库中创建表和过程:使用下载文件中的 setupLoanAccount.sql,执行命令 db2 -vf setupLoanAccount.sql

清单 2. setupLoanAccount.sql 文件内容
				
 
connect to LOAN_ACC
drop table "DB2SCHEMA".LOAN_ACCOUNT
create table "DB2SCHEMA".LOAN_ACCOUNT("ACCOUNT_NO" BIGINT NOT NULL, 
"ACCOUNT_NAME" VARCHAR(50) , "BALANCE" DOUBLE, PRIMARY KEY(ACCOUNT_NO))
INSERT into "DB2SCHEMA".LOAN_ACCOUNT VALUES(50005,'JOHN',2525000.00)
INSERT into "DB2SCHEMA".LOAN_ACCOUNT VALUES(50006,'PETER',1375000.00)
INSERT into "DB2SCHEMA".LOAN_ACCOUNT VALUES(50007,'ANDREW',237000.00)
INSERT into "DB2SCHEMA".LOAN_ACCOUNT VALUES(50008,'MARY',755000.00)
INSERT into "DB2SCHEMA".LOAN_ACCOUNT VALUES(50009,'DAVID',345000.00)
drop table "DB2SCHEMA".LOAN_ACCOUNT_TRANSACTION
create table "DB2SCHEMA".LOAN_ACCOUNT_TRANSACTION("ACCOUNT_NO" BIGINT NOT NULL, 
"ACCOUNT_NAME" VARCHAR(50) , "BALANCE" DOUBLE,"TRANSACTION_AMOUNT" DOUBLE, 
"TRANSACTION_STATUS" VARCHAR(50))
drop procedure db2schema.update_loan_account
CREATE PROCEDURE db2schema.update_loan_account(IN laccount_no INT,IN laccount_name 
CHAR(50), IN amount FLOAT, OUT balance FLOAT , OUT status CHAR(10)) LANGUAGE SQL
BEGIN  DECLARE SQLSTATE CHAR(5); DECLARE acc_no INT; DECLARE acc_name CHAR(50); DECLARE
bal FLOAT; DECLARE stat CHAR(10);DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE c1 CURSOR FOR SELECT ACCOUNT_NO, ACCOUNT_NAME , BALANCE FROM "DB2SCHEMA".
LOAN_ACCOUNT  WHERE ACCOUNT_NO = laccount_no AND ACCOUNT_NAME = laccount_name; 
DECLARE EXIT HANDLER FOR not_found SET stat = 'NOT FOUND'; Open c1; 
Fetch c1 into acc_no,acc_name,bal; if ( amount < bal) then SET bal = bal - amount ;  
UPDATE "DB2SCHEMA".LOAN_ACCOUNT SET BALANCE = bal WHERE ACCOUNT_NO = laccount_no; 
SET stat = 'SUCCESS' ; INSERT into "DB2SCHEMA".LOAN_ACCOUNT_TRANSACTION values 
(laccount_no,laccount_name,bal,amount,'TRANSACTION COMPLETED SUCCESSFULLY'); 
else SET stat = 'FAILURE'; end if; SET balance = bal; SET status = stat;
END Disconnect LOAN_ACC

设置 WebSphere MQ

  1. 使用以下命令创建一个 Queue Manager QM:crtmqm QM
  2. 启动 Queue Manager QM:strmqm QM
  3. 在 Queue Manager QM 中创建一些队列:使用下载文件中的 queues.def,执行命令 runmqsc QM < queues.defs

    清单 3. queues.defs 文件内容
    						
     
    delete qlocal(SAVINGS_TO_LOAN_IN)          
    define qlocal(SAVINGS_TO_LOAN_IN)
    delete qlocal(SAVINGS_TO_LOAN_OUT)           
    define qlocal(SAVINGS_TO_LOAN_OUT)
    delete qlocal(SAVINGS_TO_LOAN_FAILURE)           
    define qlocal(SAVINGS_TO_LOAN_FAILURE)
        

设置 WebSphere Message Broker

  1. 在 WebSphere Message Broker,选择 Open All Programs => IBM WebSphere Message Broker => Command Console
  2. 使用以下命令创建一个 Broker BROKER:mqsicreatebroker BROKER -i <userid> -a <password> -q QM
  3. 启动代理 BROKER:mqsistart BROKER
  4. 选择 Open All Programs => IBM WebSphere Message Broker Toolkit => IBM WebSphere Message Broker Toolkit 7.0 => WebSphere Message Broker Toolkit 7.0
  5. 从文末的下载文件中获取项目交换文件 DebitCredit.zip,并将其导入 Toolkit:选择 File => Import => Other => Project Interchange

    图 1. DebitCreditFlow.msgflow
    DebitCreditFlow.msgflow

  1. SAVINGS_TO_LOAN_IN MQInput 节点获取来自 SAVINGS_TO_LOAN_IN MQ 队列的消息。
  2. 如果帐号正确,则提供帐户名称且存款帐户有足够的余额,TransferLoanAmountFromSavings 计算节点会将存款余额转入借款帐户。
  3. 如果交易成功,成功消息被传播到 SAVINGS_TO_LOAN_OUT MQOutput 节点,该节点将消息放在 SAVINGS_TO_LOAN_OUT MQ 队列中。
  4. 如果交易失败,失败消息被传播到 SAVINGS_TO_LOAN_FAILURE MQOutput 节点,后者将消息放在 SAVINGS_TO_LOAN_FAILURE MQ 队列上。

清单 4. 存储过程调用和 DebitCreditFlow.esql 文件中的过程定义
				
 
CALL update_savings_account( savings_acc_no, acc_name , amount ,transaction, 
    balance, stat) IN Database.SAVG_ACC.DB2SCHEMA;
CALL update_loan_account( loan_acc_no, acc_name , amount , 
    balance,stat) IN Database.LOAN_ACC.DB2SCHEMA;

CREATE PROCEDURE update_savings_account(IN account_no INT, IN account_name CHAR, 
    IN amount FLOAT, IN transaction CHAR, OUT balance FLOAT, OUT status CHAR) 
LANGUAGE DATABASE EXTERNAL NAME "update_savings_account";    

CREATE PROCEDURE update_loan_account(IN account_no INT, IN account_name CHAR, 
    IN amount FLOAT, OUT balance FLOAT, OUT status CHAR) LANGUAGE DATABASE 
EXTERNAL NAME "update_loan_account";

测试 Debit Credit 场景

  1. 在 Message Broker Application Development Perspective 中,打开 Brokers 视图。
  2. 右键单击 BROKER,然后选择 New execution group,输入 DebitCredit
  3. 打开 DebitCreditFlow_deploy.mbtest
  4. 单击 Send message
  5. 选择执行组 DebitCredit 并单击 Finish

按照该流程处理输入消息,然后系统会显示输出消息:

  • 在 SAVG_ACC 数据库中,存储过程 update_savings_account 已更新 db2schema.savings_account 和 db2schema.savings_account_transaction 表。
  • 在 LOAN_ACC 数据库中,存储过程 update_loan_account 已更新 db2schema.loan_account 和 db2schema.loan_account_transaction 表。

测试文件 DebitCreditFlow_test.mbtest 提供了一些用来测试成功和失败场景的样例消息。

  1. 打开 DebitCreditFlow_test.mbtest
  2. 选择 Enqueue,然后单击 Send message
  3. 选择 Dequeue,然后单击 Get message

提供的工件

  • 用于配置 SAVG_ACC 数据库:setupSavingsAccount.sql
  • 用于配置 LOAN_ACC 数据库:setupLoanAccount.sql
  • 用于创建 WebSphere MQ 队列:queues.defs
  • 消息流项目:DebitCredit.zip

使用 Mapping 节点从 WebSphere Message Broker 访问 DB2 存储过程:Employee Information Retrieval 场景

设置 DB2

  1. 选择 Open All Programs => IBM DB2 => DB2COPY1 => Command Line Tools => Command Line Processor
  2. 创建 EMPLOYEE 数据库:db2 create database EMPLOYEE
  3. 在 EMPLOYEE 数据库中创建表和过程:使用下载文件中的 setupEmployee.sql,执行命令 db2 -vf setupEmployee.sql

清单 5. setupEmployee.sql 文件内容
				
 
connect to EMPLOYEE
drop table "DB2SCHEMA".PERSONAL_DETAILS
create table "DB2SCHEMA".PERSONAL_DETAILS(EMPNAME VARCHAR(25) NOT NULL,
EMPNO BIGINT NOT NULL,AGE INT, SEX VARCHAR(10),MARITAL_STATUS VARCHAR(10),
NATIONALITY VARCHAR (20), PRIMARY KEY(EMPNO))
INSERT into "DB2SCHEMA".PERSONAL_DETAILS 
VALUES('SAM',11111,25,'MALE','SINGLE','AMERICAN')
INSERT into "DB2SCHEMA".PERSONAL_DETAILS 
VALUES('ALEX',22222,45,'MALE','MARRIED','BRITISH')
INSERT into "DB2SCHEMA".PERSONAL_DETAILS 
VALUES('LAURA',33333,22,'FEMALE','SINGLE','INDIAN')
drop table "DB2SCHEMA".EMPLOYMENT_DETAILS
create table "DB2SCHEMA".EMPLOYMENT_DETAILS(EMPNAME VARCHAR(25) NOT NULL, 
EMPNO BIGINT NOT NULL, TYPE VARCHAR(15), DEPT VARCHAR(15), YEARS_OF_EXP FLOAT,
CATEGORY VARCHAR(2),PRIMARY KEY(EMPNO))
INSERT into "DB2SCHEMA".EMPLOYMENT_DETAILS 
VALUES('SAM',11111,'REGULAR','SALES',4.2,'B')
INSERT into "DB2SCHEMA".EMPLOYMENT_DETAILS 
VALUES('ALEX',22222,'PARTTIME','HR',19,'E')
INSERT into "DB2SCHEMA".EMPLOYMENT_DETAILS 
VALUES('LAURA',33333,'REGULAR','MARKETING',1,'A')
drop table "DB2SCHEMA".PAYROLL_DETAILS
create table "DB2SCHEMA".PAYROLL_DETAILS(EMPNAME VARCHAR(25) NOT NULL, 
EMPNO BIGINT NOT NULL,SALARY DOUBLE, HRA DOUBLE,CONVEYENCE DOUBLE, RETIRALS DOUBLE, 
OTHER_BENEFITS DOUBLE, PRIMARY KEY(EMPNO))
INSERT into "DB2SCHEMA".PAYROLL_DETAILS 
VALUES('SAM',11111,28000.00,7000.00, 1600.00,2000.00,0.0)
INSERT into "DB2SCHEMA".PAYROLL_DETAILS 
VALUES('ALEX',22222,75000.00,18000.00,2400.00,10000.00,0.00)
INSERT into "DB2SCHEMA".PAYROLL_DETAILS 
VALUES('LAURA',33333,15000.00,3500.00,800.00,1000.00,0.0)
drop procedure db2schema.retrieve_employee_details
CREATE PROCEDURE db2schema.retrieve_employee_details(INOUT emp_name CHAR(25),
INOUT emp_no INT, OUT age INT, OUT sex CHAR(10) , OUT marital_status CHAR(10),
OUT nationality CHAR(20), OUT type CHAR(15), OUT dept CHAR(15), OUT exp FLOAT,
OUT cat CHAR(2),OUT salary DOUBLE,OUT hra DOUBLE, OUT convey DOUBLE, OUT 
retirals DOUBLE, OUT benefits DOUBLE )LANGUAGE SQL  BEGIN DECLARE SQLSTATE CHAR(5);
DECLARE ben DOUBLE;DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE c1 CURSOR FOR SELECT AGE,SEX,MARITAL_STATUS,NATIONALITY FROM "DB2SCHEMA".
PERSONAL_DETAILS  WHERE EMPNAME = emp_name AND EMPNO = emp_no; DECLARE c2 
CURSOR FOR SELECT TYPE,DEPT,YEARS_OF_EXP,CATEGORY FROM "DB2SCHEMA".EMPLOYMENT_DETAILS  
WHERE EMPNAME = emp_name AND EMPNO = emp_no;DECLARE c3 CURSOR FOR 
SELECT SALARY,HRA,CONVEYENCE,RETIRALS,OTHER_BENEFITS FROM "DB2SCHEMA".PAYROLL_DETAILS  
WHERE EMPNAME = emp_name AND EMPNO = emp_no;DECLARE EXIT HANDLER FOR
not_found SIGNAL SQLSTATE '20000' SET MESSAGE_TEXT = 'Employee Number not found';
Open c1; Fetch c1 into age,sex,marital_status,nationality;Open c2; Fetch c2 
into type,dept,exp,cat; Open c3; Fetch c3 into salary,hra,convey,retirals,benefits; 
if (cat ='A') then SET benefits=2000.00; elseif (cat ='B') then SET benefits=3000.00; 
elseif (cat ='C') then SET benefits=4000.00; 
elseif (cat ='D') then SET benefits=5000.00; 
elseif (cat ='E') then SET benefits=6000.00; 
else SET benefits=1000.00;end if; SET ben = benefits ;UPDATE "DB2SCHEMA".
PAYROLL_DETAILS SET OTHER_BENEFITS = ben WHERE EMPNAME = emp_name AND EMPNO = emp_no;END
Disconnect EMPLOYEE

  1. 创建 MASTER 数据库:db2 create database MASTER
  2. 在 MASTER 数据库中创建表:使用下载文件中的 setupMaster.sql,执行命令 db2 -vf setupMaster.sql

清单 6. setupMaster.sql 文件内容
				
 
connect to MASTER
drop table "DB2SCHEMA".MASTER_TABLE
create table "DB2SCHEMA".MASTER_TABLE(EMPNAME VARCHAR(25) NOT NULL, 
EMPNO BIGINT NOT NULL,AGE INT, SEX VARCHAR(10),MARITAL_STATUS VARCHAR(10),NATIONALITY 
VARCHAR (20),TYPE VARCHAR(15), DEPT VARCHAR(15), YEARS_OF_EXP FLOAT,
CATEGORY VARCHAR(2), SALARY DOUBLE, HRA DOUBLE,CONVEYENCE DOUBLE, RETIRALS DOUBLE, 
OTHER_BENEFITS DOUBLE, PRIMARY KEY(EMPNO)) disconnect MASTER

设置 WebSphere MQ

  1. 在命令提示符下,按照 Debit Credit 场景的 设置 WebSphere MQ 中的描述创建和启动队列管理器 QM。
  2. 在队列管理器 QM 中创建队列:使用下载文件中的 queues_emp.def,执行命令 runmqsc QM < queues_emp.defs

    清单 7. queues_emp.defs 文件内容
    						
     
    delete qlocal(EMP_IN)          
    define qlocal(EMP_IN)
    delete qlocal(EMP_OUT)           
    define qlocal(EMP_OUT)
        

设置 WebSphere Message Broker

  1. 按照 Debit Credit 场景的 设置 WebSphere Message Broker 中的描述创建和启动 Broker BROKER。
  2. 选择 Open All Programs => WebSphere Message Broker Toolkit => WebSphere Message Broker Toolkit 7.0 => WebSphere Message Broker Toolkit 7.0
  3. 将下列项目交换文件从下载文件导入 Message Broker Toolkit:EmployeeDB.zip, Master.zip, EmployeeMessage.zip, Employee.zip

图 2. Employee.msgflow
Employee.msgflow

EMP_IN MQInput 节点从 EMP_IN MQqueue 获取消息。RetrieveEmployeeDetails_UpdateMasterTable 从各种表中获取员工详细信息,基于他们的级别向其提供一定的福利,然后在 MASTER 数据库的 MASTER_TABLE 中输入员工信息。完成的员工信息被传播到 EMP_OUT Output 节点,该节点将消息放在 EMP_OUT 队列中。


图 3. Employee_RetrieveEmployeeDetails.msgmap
Employee_RetrieveEmployeeDetails.msgmap

消息 Employee 和存储过程 retrieve_employee_details 被添加为源,消息 Employee 和插入表 MASTER_TABLE 被添加为目标。而消息中的 EmployeeName 和 EmployeeNo 将作为参数传递给存储过程。存储过程 retrieve_employee_details 从 PERSONAL_DETAILS、EMPLOYMENT_DETAILS 和 PAYROLL_DETAILS 表中获取员工详细信息。PAYROLL_DETAILS 表中的 OTHER_BENEFITS 字段将根据级别进行更新。存储过程中的字段会映射到 Message Employee 和 MASTER_TABLE 中的字段。而完成的员工信息将在 MASTER DATABASE 的 MASTER_TABLE 中更新,然后作为一条输出消息发出。

测试 Employee Information Retrieval 场景

  1. 在 Message Broker Application Development Perspective 中,打开 Brokers 视图。
  2. 右键单击 BROKER,选择 New execution group,然后输入 Employee
  3. 打开 Employee.mbtest
  4. 单击 Send message
  5. 选择执行组 Employee 并单击 Finish

按照该流程处理输入消息,然后系统会显示输出消息。

提供的工件

  • 用于配置 EMPLOYEE 数据库:setupEmployee.sql
  • 用于配置 MASTER 数据库:setupMaster.sql
  • 用于创建 WebSphere MQ 队列:queues_emp.defs
  • Database Definition 项目:EmployeeDB.zip
  • Database Definition 项目:Master.zip
  • Message Set 项目:EmployeeMessage.zip
  • Message Flow 项目:Employee.zip

结束语

本文的两个场景展示了如何使用 ESQL 和 Mapping 节点从 WebSphere Message Broker 访问 DB2 存储过程。在 Debit Credit 场景中,帐户详细信息将传递到 DB2,所有数据库操作都在数据库中执行。在 Employee Information Retrieval 场景中,存储过程检索了各种表中的员工信息。



下载

描述名字大小下载方法
代码样例developer_artifacts.zip40 KBHTTP

关于下载方法的信息


参考资料

关于作者

Kavitha Suresh Kumar 的照片

Kavitha Suresh Kumar 是印度班加罗尔 IBM 软件实验室 Service Integration Bus 开发团队的高级软件工程师和开发领导人员。她在 IBM 已工作了 10 年,曾效力于 WebSphere MQ、WebSphere Message Broker 和 Service Integration Bus 团队。除那些产品外,她的专长还包括使用软件工程最佳实践改进产品质量。她拥有印度芭莎瑞尔大学的计算机科学学士学位和甘地国立开放大学 (IGNOU) 的经营管理专业的 MBA 学位。您可以通过 kavisuresh@in.ibm.com 联系 Kavitha。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Information Management
ArticleID=765651
ArticleTitle=使用存储过程从 WebSphere Message Broker 访问 DB2
publish-date=10172011

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。