查询分组数据的SQL并在BizTalk中接收它?

时间:2014-01-15 18:50:26

标签: sql sql-server xml wcf biztalk

我有一个返回按组织组织的数据的查询。我想让它们以类似于以下格式的分组XML出现。我打算使用WCF-SQL端口适配器将其作为XML消息传递到BizTalk中。

数据:

ID  GroupID    Item ID    FileName  
1      1          1       File001.txt  
2      1          2       File001.txt   
3      2          3       File002.txt   
4      2          4       File002.txt   
5      2          5       File002.txt   
6      3          6       File003.txt   
7      3          7       File003.txt   
8     null        8       File004.txt   
9     null        9       File005.txt   

XML输出(输入到BizTalk)

<GroupInfo  ID=1  FileName=File001.txt>  
   <Items>
      <Item ID=1 />
      <Item ID=2 />
   </Items>
</GroupInfo>
<GroupInfo  ID=2  FileName=File002.txt>  
   <Items>
      <Item ID=3 />
      <Item ID=4 />
      <Item ID=5 />
   </Items>
</GroupInfo>
<GroupInfo  ID=3  FileName=File003.txt>  
   <Items>
      <Item ID=6 />
      <Item ID=7 />
   </Items>
</GroupInfo>
<GroupInfo  FileName=File004.txt>  
   <Items>
      <Item ID=8 />
   </Items>
</GroupInfo>
<GroupInfo  FileName=File005.txt>  
   <Items>
      <Item ID=9 />
   </Items>
</GroupInfo>

我不知道如何以所需格式获取输出。请帮忙。

1 个答案:

答案 0 :(得分:0)

要实现此目的,您必须使用存储过程中的FOR XML结果。

此处记录:http://technet.microsoft.com/en-us/library/ms178107.aspx

在这种情况下,您可能会发现在GroupID上将表连接到自身更容易,因为FOR XML AUTO将自动为连接的行创建子记录。