Можем ли мы сопоставить один источник с несколькими таблицами назначения в службах BizTalk?

У нас есть сценарий, в котором мы будем получать исходный файл 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>    

Назначением является база данных Azure Sql Server с двумя таблицами Client и ClientAddress. Но меня поразило отображение на две таблицы с одним источником.

есть ли способ сопоставить напрямую? Я закончил с отображением из одного источника в один пункт назначения, но наш сценарий - это один источник для нескольких пунктов назначения, возможно ли это. пожалуйста, помогите мне, я очень плохо знаком с услугами BizTalk и BizTalk

Я работаю на Biztalk Services с базами данных Azure

Заранее спасибо.

2 ответа

Использовать распаковку? Создайте схему для сообщения, что у вас есть схема конверта, и создайте новую для адреса - таким образом, вы можете иметь порт отправки, который имеет дело только с адресом, а другой - с клиентом.

Одной из альтернатив является передача XML хранимой процедуре, но тогда хранимая процедура должна будет использовать OpenXML для анализа XML, поскольку у вас есть отношение один ко многим.

Лучшей альтернативой может быть вызов веб-службы WCF, которая помещает данные в SQL.

Третий вариант - иметь две карты и два отправляющих порта, но это не идеально, потому что может произойти сбой одного из родительских отношений, что приведет к сбою дочерних отношений.

Другие вопросы по тегам