Biztalk Sql Adapter 系列一:使用biztalk Sql Adapter 读取数据(源码在文章最后)


使用
Biztalk Sql Adapter 读取数据

最近的项目终于结束了.在项目中我们用到了Biztalk同步世界各地的Database,所以决定写这个Sql Adapter系列.把项目中用到的技术记录下来,以便以后参考.
本系列分为几个部分
1:使用biztalk 读取数据,
2:使用biztalk插入数据,
3:使用Biztalk更新数据
4:使用biztalk删除数据


今天我们就开始从使用Biztalk读取数据讲起.

为了使用Biztalk 同步不同DataBase的数据,我们使用到了 Biztalk 自带 Sql Adapter  去实现这个需求.我们把这个目标分为两个部分.
第一:使用biztalk Sql Adapter 从一个Database Server 获得数据(这篇文章就是完成这个目标)
,
第二:把获得的数据插入到另一个数据库.

今天我们来完成第一个目标
开始之前的工作:
1:安装biztalk

2:安装Sql Server 2005

3:VS2005 +Biztak Extension

OK,准备工作已经就绪,开始我们的Sql Adapter之旅吧.为了更容易看懂,我将使用大量的图片.

,使用Vs2005创建biztalk Solution

1:打开Vs 创建一个Empty Biztalk project.如图

2:接下来我们来创建一个用来读取数据的Biztalk Sql Adapter,右键单击我们所创建的project->Add->Add Generated Items ,在弹出来的对话框中 选择Add Adapter Metadata,单击OK,我们就看到了添加 Adapter的向导如下图.

我们选择Sql(如果有其他的Adapter,包括自定义的Adapter,都会出现在这个list当中,目前我们只有Sql 可以选择),单击Next,我们就会看到设置所要连接的Database的对话框(如下图)

填写你要连接的DataBase的信息,非常简单,这个DataBase就是我们将要读取数据用的.(注意:Allow Saving Password 一定要勾选,否则不让你通过)填写后,单击OK->Next,我们将看到接受端口的设置界面,如下图

Target Namespce:Http://AdapterTest(可以随便写)
Select The Port Type:Receive Port(由于我们是读取数据,我们要选择 Receive Port)
Document Root Element Name:SelectRoot(可以随便写)

注意:一定要记住自己所写的Namespace Root Name,后面的端口设置中要用到
填写完整后,单击Next,我们将看到下图,你可以选择Select The type if statement
select Statement:你需要手写SQL Select 语句
Stored Procedure:
将从你选择的数据库中选择已经存在的存储过程



在本例中我们选择 手写select 语句,单击Next.


SQL 语句很简单了.需要注意的是:语句后面:For XML Auto,目的是select出来的结果以XML形式返回.
然后就直接Next->Finish,OK.一个读取数据的AdapterOK.

3:添加Adapter,我们可以看到Project中多了2个文件:Schema, Orchestration,我们可以删除那个Orchestration文件(当然你也可以不删除),本例删除了自动生成的Orchestration文件,手动添加一个新的Orchestration文件GetDataFromDB1.odx.(Add Item-> Orchestration File,弄个名字,单击OK,就完成新文件的添加)
 3.1
接下来我们要添加Business Process. 打开GetDataFromDB1.odx,添加如下Items,如下图,

 

ReceiveDataFromDB1:接受数据
SaveDataToFile:Send Shapre(之所以添加这个,是为了保存我们取到的数据)
ReceiveDataport:Port
SaveDataPort: Port
3.2 创建Message,Slution Explorer,单击Orchestration View,右键单节Message,创建一个Message消息.属性设置如下.(由于本例只读取数据库,所以就一个message)

 

3.2设置 接受和发送形状的消息并连接端口.如下图

4:完成最后的设置,右键单节project->properties,设置如下图,

 

5.VS2005 ,右键Solution->Properties.设置如下.选中Deploy

6:Done,Solution创建结束,我们直接Build ->Deploy.

:设置Biztalk.
1:建立几个文件夹,作为我们输出端口的接受文件夹,随便放在哪个盘都行.本例放在      C:\tutorial\SqlAdapter\SelectedChildData
1:首先打开Biztalk控制台.开始菜单->Microsoft BizTalk Server 2006->BizTalk Server Administration 找到我们刚才DeployBiztalkAdapter 程序

 

 

3:右键BiztalkAdapter->configure… 我们可以看到我们在VS2005中所创建的2个端口ReceiveDataPortSaveDataPort.

4:我们首先来设置ReceiveDataPort端口.新建一个接收端口,在弹出的对话框如下:

General中填写名字: ReceiveChildData
然后在Receive LocationNew一个Location.设置如下
Name:  ReceiveChildData_Location.
Type: SQL
然后Fileconfiguration中的设置如下图,
其中SQL的设置中要注意的是一定要填写我们在创建SQLAdapter向导时,所填写的NameSpaceRoot Element Name
Document Root Element Name: SelectRoot
Document Target Namespace: Http://AdapterTest

ReceivePipeline: XMLRecive

 


5:设置SaveDataPort,同样New一个Send Port
Name: SaveDataPort

Type: File

FileConfiguration中的Destination Folder设置我们在开始创建的Folder C:\tutorial\SqlAdapter\SelectedChildData
Send Pipe: XML Transmit

 


6.设置完成后,右键BiztalkAdapter->start

7: 测试
打开我们所创建的文件夹,我们就能看到结果了

 

源码:Biztalk Sql Adapter

posted @ 2009-03-09 16:10  莫贝特(MBetter)  阅读(1673)  评论(2编辑  收藏  举报