WCF-SQL вызывает хранимую процедуру с параметрами in и out - PullRequest
0 голосов
/ 26 октября 2011

У меня есть оркестровка, которая получает xml через прямое связывание.

В оркестровке я должен выполнить следующие задачи:

  • Вызовите 1 хранимую процедуру для создания идентификатора пакета (name IN, batchID OUT, errorCode OUT)
  • Выполните несколько вставок в таблицу, соответствующую записям в xml (0..n неограниченно), каждая запись представляет собой вставку одной строки таблицы.Я использую карту для сопоставления элементов XML со столбцами в таблице.
  • Вызов 1 хранимой процедуры для завершения пакета (batchID IN, recordCount IN, errorCode OUT)

Вызовы БД должны выполняться с помощью адаптера WCF-SQL в Biztalk 2010.

Мои вопросы:

  • Как передать идентификатор пакета 1-го пакета SP мапперу (каждая записьначинается со столбца batchID)?
  • Вставки в 1 XML должны рассматриваться как одна транзакция.Если одна из вставок не удалась, записи должны быть откатаны.Как это достигается?

1 Ответ

0 голосов
/ 26 октября 2011

Чтобы ответить на ваш первый вопрос, вам нужно сопоставить карту со схемой множественного ввода и использовать ответное сообщение из хранимого вызова Proc Create Batch в качестве одной из схем ввода.Для этого смотрите мой ответ на этот вопрос здесь Создание карты BizTalk с несколькими схемами ввода

Что касается вашего второго вопроса, если вы делаете это с табличной операцией с использованием адаптера WCF-SQLвы можете установить для свойства useAmbientTransaction значение true в конфигурации sqlBinding, которая обернет несколько вызовов в одну транзакцию.

...