2

我们有一个场景,我们将收到一个 Xml 源文件,如下所示

<Client>
    <ClientAddress>
     <ClientCode>123</ClientCode>
    <ClientDBName>asdf</ClientDBName>
    <ClientFEIN>asdf</ClientFEIN>
    <ClientName>asdf</ClientName>
    <ComplexityLevel>asdf</ComplexityLevel>
    <EftpsPIN>asdf</EftpsPIN>
      <Address>
        <City>Test City</City>
        <ClientCode>Test Code</ClientCode>
        <Description>Test Desc</Description>
        <State>Test Sta</State>
        <Stree2>Test Stree2</Stree2>
        <Street1>Test Stree1</Street1>
        <UseAsDefault>false</UseAsDefault>
        <ZipCode>1245</ZipCode>
      </Address>
      <Address>
        <City>asdf</City>
        <ClientCode>asdf</ClientCode>
        <Description>asdf</Description>
        <State>asdf</State>
        <Stree2>asdf</Stree2>
        <Street1>asdf</Street1>
        <UseAsDefault>false</UseAsDefault>
        <ZipCode>1255</ZipCode>
      </Address>
    </ClientAddress>       
  </Client>    

目标是带有两个表 Client 和 ClientAddress 的 Azure Sql Server 数据库。但我对映射到具有一个源的两个表感到震惊。

有没有办法直接映射?我已经完成了从一个源到一个目的地的映射,但是我们的场景是一个源到多个目的地,这可能吗?请帮助我我对 BizTalk 和 BizTalk 服务非常陌生

我正在使用 azure 数据库开发 Biztalk 服务

提前致谢。

4

2 回答 2

0

一种替代方法是将 XML 传递给存储过程,但是存储过程必须使用 OpenXML 来解析 XML,因为您有一对多的关系。

更好的选择可能是调用将数据放入 SQL 的 WCF Web 服务。

第三种选择是有两个映射和两个发送端口,但这并不理想,因为其中一个父关系可能会失败,从而导致子关系失败。

于 2015-01-05T20:01:52.520 回答
0

使用分批?为具有信封模式的消息创建模式并为地址创建一个新模式 - 这样您就可以拥有一个仅处理地址的发送端口和另一个处理客户端的发送端口。

于 2015-11-05T13:45:24.567 回答