none
在biztalk中使用WCF配置器实现在SQL中批量处理遇到的问题 RRS feed

  • 问题

  • 求助各位大大,我想实现在biztalk中使用WCF配置器,在SQL中批量处理数据。我的设计思路如下,先使用wcf-custom使用polling的方式得到一个接收schema,存放dataset数据。
    接收的schema形如:<schema>
                                       <Polling>
                                           <PollingData>
                                                 <ns3:dataset>
                                                      <any>
                                                      <any>
    使用后得到了具体的数据主要如下:
    <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    
    - <NewDataSet xmlns="">
    
    - <NewTable>
    
      <clientid>1</clientid> 
    
      <comedid>1</comedid> 
    
      <familyflag>11</familyflag> 
    
      <medpersontype>1</medpersontype> 
    
      </NewTable>
    
    - <NewTable>
    
      <clientid>2</clientid> 
    
      <comedid>2</comedid> 
    
      <familyflag>2</familyflag> 
    
      <medpersontype>2</medpersontype> 
    
      <name>2</name> 
    
      <certtype>2</certtype> 
    
      <certnumber>2</certnumber> 
    
      <sex>2</sex> 
    
      </NewTable>
    
      </NewDataSet>
    
      </diffgr:diffgram>
    
      </DataSet>
    
      </PolledData>
    
      </Polling>
    为发送给SQL SERVER实现批量操作,我通过wcf-custom适配器运用ExecuteReader 方式,得到了一个schema。得到的schema如下:
    <schema>
    <ExecuteReader>
          <query>
    <ExecuteReaderResponse>。
    我查到的资料显示,如果我能对query进行赋值成以下形式:<Query>EXEC PROCEDURE 1,1,11,1,1;EXEC PROCEDURE 2,2,22,2,2</Query>那么就能实现批量的更新功能。

    现在我的问题就是怎么对query进行赋值?EXEC PROCEDURE 是可以写死,但是后面的参数就要从前面得到的消息中获取,但是这个消息又是个any节点形式的,该如果处理?

    另外:接收到的消息,如果字段值为空,字段会被省略。
    参考的文档:http://msdn.microsoft.com/en-us/library/dd788494(BTS.10).aspx,希望大家帮忙看看。
    2010年1月5日 9:46

全部回复