陈辉煌 发表于 2016-11-17 10:21:36

BizTalk 如何使用 DB2 Adapter

  很久没有来这里写文章了,到了08年是个奥运年,到觉得自己突然变的懒惰了。晚上时常失眠,早上却很难起来,或许也因为家里的床不太舒服 --明显的找借口

好了~ 言归正传,今天说的是一个不太常用的ADAPTER,叫做DB2 ,是IBM的一个数据库产品,个人感觉用起来比较蹩脚。
而对于BizTalk要实现与它的连通,需要在系统环境上有所准备,除了需要有DB2的adapter之外,还要有HIS(host intergration service).

先看一下DB2数据库里面我们要操作的那张表吧:
DB2数据库的版本:


DB2 数据表:
因为我安装的DB2的SAMPLE库,所以这里我就是用SAMPLE库里的数据表ACT来实现这个DEMO,可以先看一下数据表的字段,还有信息情况: 


环境都已经准备就绪的情况下,开始BizTalk的开发工作,首先我们创建一个新的 BizTalK工程: 


使用添加适配器schema向导:
1.选择开始向导添加新项
2.使用适配器模式
3.选择DB2适配器


开始DB2数据库连通配置,创建一个新的连接:


选择数据库所在的系统平台,或者说版本.以及连通的方式:
版本平台分为:MVS ,AS400 ,NT ,6000 四种.因为我装的DB2是在本计算机的windows平台上,所以我选择的DB2\NT模式。
连通方式分为:TCP\IP , LNA 



填写DB2数据库所在的系统平台的IP 或者 主机名称 或者 网络标识 都可以。
填写DB2数据库所暴露出来的默认端口,一般情况下NT平台的端口为50000,AS 400的端口为446。


填写将要获取数据的数据库名称: sample
第二项为一个模糊查询项,只要填写一个表名称所包含的字母即可。后两项可以不填写


语言选项:


验证方式,以及验证信息:


connection 配置,默认即可:


测试一下连接情况,并尝试查询想要操作的表,看其是否存在于列表中:


设置schema的命名空间,以及root name:


选择查询操作:


完成添加向导:


看一下工程中,为我们添加了一个空的流程,以及一个查询用的schema.
这里需要注意的是:在对DB2进行select操作的时候,我们使用的是动态查询的方式,动态传入select语句。所以返回的结果也不一定是一个固化的信息,因此结果response的消息使用了信封的机制,来满足这样的动态查询而又动态的结果集合。如果以后想进一步对消息结果进行操作,可以通过"拆信封"的方式(在biztalk2006的帮助里有介绍),或者直接修改该Response消息结构即可。


完成以上的操作之后,就可以直接部署工程了,因为这里只是做一个连通性的demo,没有必要涉及到流程。所以我决定使用端口的串接来完成接下来的DEMO。
OK deploy succeeded
然后打开管理控制台,查看DB2的schema 时候成功的部署了:


配置一个文件接收端口:


创建一个send&receive双向发送端口,使用db2 adapter,触发的方式绑定到第一个接收端口:
注意:这里的connection string 其实就是重新完成一遍之前执行的向导即可 


创建一个单向的发送端口,触发方式为之上的双向发送端口,用于最终结果的展现:

启动所有的端口。


测试部分:
创建一个用于查询的request message:

<ns0:Request xmlns:ns0="http://wooddb2DemoProjectReceivePp">
<sync>
<Select>Select * from act</Select>
</sync>
</ns0:Request>  将这个消息的xml文件放入receive port 目录,在输出的目录中获得结果:

<?xml version="1.0" encoding="utf-16" ?>
<Response xmlns="http://wooddb2DemoProjectReceivePp">
- <Success>
<ResultSets>
<act ACTNO="10" ACTKWD="MANAGE" ACTDESC="MANAGE/ADVISE" />
<act ACTNO="20" ACTKWD="ECOST" ACTDESC="ESTIMATE COST" />
<act ACTNO="30" ACTKWD="DEFINE" ACTDESC="DEFINE SPECS" />
<act ACTNO="40" ACTKWD="LEADPR" ACTDESC="LEAD PROGRAM/DESIGN" />
<act ACTNO="50" ACTKWD="SPECS" ACTDESC="WRITE SPECS" />
<act ACTNO="60" ACTKWD="LOGIC" ACTDESC="DESCRIBE LOGIC" />
<act ACTNO="70" ACTKWD="CODE" ACTDESC="CODE PROGRAMS" />
<act ACTNO="80" ACTKWD="TEST" ACTDESC="TEST PROGRAMS" />
<act ACTNO="90" ACTKWD="ADMQS" ACTDESC="ADM QUERY SYSTEM" />
<act ACTNO="100" ACTKWD="TEACH" ACTDESC="TEACH CLASSES" />
<act ACTNO="110" ACTKWD="COURSE" ACTDESC="DEVELOP COURSES" />
<act ACTNO="120" ACTKWD="STAFF" ACTDESC="PERS AND STAFFING" />
<act ACTNO="130" ACTKWD="OPERAT" ACTDESC="OPER COMPUTER SYS" />
<act ACTNO="140" ACTKWD="MAINT" ACTDESC="MAINT SOFTWARE SYS" />
<act ACTNO="150" ACTKWD="ADMSYS" ACTDESC="ADM OPERATING SYS" />
<act ACTNO="160" ACTKWD="ADMDB" ACTDESC="ADM DATA BASES" />
<act ACTNO="170" ACTKWD="ADMDC" ACTDESC="ADM DATA COMM" />
<act ACTNO="180" ACTKWD="DOC" ACTDESC="DOCUMENT项目" />
<act ACTNO="190" ACTKWD="项目" ACTDESC="项目" />
</ResultSets>
</Success>
</Response>  OK 全部搞定 ;)

  
页: [1]
查看完整版本: BizTalk 如何使用 DB2 Adapter