王朝网络
分享
 
 
 

Biztalk 实例之 分割SQL记录集

王朝mssql·作者佚名  2006-07-13
宽屏版  字体: |||超大  

从SQL Server中获取数据一文介绍了如何从SQL Server数据库中获取数据。不过,有时候我们想把获取的记录集分开,每一个记录输出一个XML文件。在本文中,介绍如何通过Biztalk提供的Envelope实现此功能。

要实现此功能,需要完成如下任务:

一、创建一个空的BizTalk项目

二、创建一个信封构架

三、创建一个记录构架

四、编译和布署BizTalk项目

五、创建接收端口和接收位置

六、创建发送端口

七、启动端口测试

下面来看具体步骤:

一、创建一个空的BizTalk项目

1. 打开Visual Studio .Net 2003,创建一个新项目,选择项目类型为BizTalk项目,模板为空的BizTalk Server项目,输入名称为BiztalkSQL1。

二、创建一个信封构架

2. 选择BiztalkSQL1,为其添加一个构架SQLEnvelope.xsd。

3. 选择<Schema>节点,设置信封属性为是,设置Target Namespace为http://SchemaTargetNamespace。

4. 选择Root节点,设置Node Name为SQLEnvelope,选择正文 XPath后的...按钮,弹出一个正文XPath窗口,单击确定按钮,将会为正文 XPath设置属性。

5. 在构架树中选择SQLEnvelope节点,为其添加一个任何元素子节点。

6. 设置<Any>节点的Namespace属性为##any,设置Process Contents属性为Lax。

三、创建一个记录构架

7. 选择BiztalkSQL1,为其添加生成的项,选择添加适配器,打开添加适配器向导。

8. 选择适配器页面中选择SQL,单击下一步。

9. 指定架构的数据源时,设置localhost的Northwind数据库,使用合适的数据库身份认证方式,单击下一步。

10.在架构信息中设置目标命名空间为http://SchemaTargetNamespace,选择端口类型为接收端口,文档根元素名称设置为Categories。

11.选择语句类型为Select语句,单击下一步。

12.输入SQL脚本查询所要处理的数据,此处选择Categories表,输出该表所有字段,并且使用xml auto,elements方式其语句为:select * from Categories for xml auto, elements

13.单击下一步,单击完成。

14.展开生成的SQLService.xsd的构架树,将里层的Categories中的四个节点移到外层的Categories下面,并将里层的Categories节点删除。设置Categories节点的Group Max Occurs和Group Min Occurs属性为1。

四、编译和布署BizTalk项目

15.在解决方案资源管理器中将BizTalk 业务流程.odx文件删除。

16.生成解决方案。

17.为BiztalkSQL1项目设置程序密钥文件,具体步骤可参见Biztalk 排错之 需要强名称程序集一文。

18.布署解决方案。

五、创建接收端口和接收位置

19.创建SQLReceivePort单向接收端口。

20.为SQLReceivePort添加SQLReceivePosition接收位置。

21.设置传输类型为SQL,选择URI后的...按钮,打开SQL传输属性窗口。

22.设置数据库连接字符串,使用localhost主机Northwind数据库。

23.设置SQL命令为BiztalkSQL1项目的SQLService架构,文档根元素名称和文档目标命名空间将自动赋值。

24.在接收位置属性-配置-常规中设置接收处理程序为BizTalkServerApplication,设置接收管道为

Microsoft.BizTalk.DefaultPipelines.XMLReceive。

25.单击确定按钮,关闭接收位置属性-配置-常规窗口。

六、创建发送端口

26.创建一个发送端口SQLSendPort。

27.在配置\传输\主要中设置传输类型为FILE,设置地址为c:\out\%MessageID%.xml。

28.在配置\发送中设置发送管道为Microsoft.BizTalk.DefaultPipelines.PassThruTransmit。

29.在配置\筛选器和映射\筛选器中设置BTS.ReceivePortName == SQLReceivePort。

七、启动端口测试

30.选择SQLReceivePosition,单击右键选择启用菜单。

31.选择SQLSendPort,单击右键选择启动菜单。

32.半分钟后,将会在c:\out文件夹下发现Biztalk生成的一些xml文件,其内容格式如下:

<Categories mlns="http://SchemaTargetNamespace">

<CategoryID>1</CategoryID>

<CategoryName>Beverages</CategoryName>

<Description>Soft drinks, coffees, teas, beers, and ales</Description>

<Picture>dbobject/Categories[@CategoryID='1']/@Picture</Picture>

</Categories>

33.出现xml文件后,停止接收位置和发送端口,否则会在c:\out文件夹下不停地生成xml文件。

总结:在本实例中,实例了一个SQL接收适配器,一个文件发送适配器,两个构架文件,实现了SQL记录集的拆分。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有