2011-10-26 11 views
0

ダイレクトバインディングを使用してxmlを受信するオーケストレーションがあります。表が一致で複数の挿入を実行しWCF-SQL呼び出しでストアドプロシージャを呼び出す際に、入出力パラメータを使用する

  • コール1バッチIDを作成するには、ストアドプロシージャ(IN名を、batchID OUT、errorCodeをOUT)
  • :私はこれらのタスクを実行する必要がオーケストレーションで

    xml(0..n無制限)のレコードでは、各レコードは1つのテーブル行挿入です。マップを使用して、XML要素を表の列に一致させます。バッチを終了する
  • コール1ストアドプロシージャ(batchIDでは、RecordCountをでは、errorCodeをOUT)

DBコールは私の質問のBizTalk 2010年にWCF-SQLアダプタで

を実行する必要があります。

  • にはどうすれば(batchID列を持つ各レコード 開始)マッパーに第一SPのバッチIDを渡すのですか?
  • 1 XML内のインサートは、 を1つのトランザクションと見なす必要があります。 1つの挿入に失敗すると、レコード をロールバックする必要があります。これはどのように達成されますか?

答えて

0

最初の質問に答えるには、入力スキーママップをマップし、Create Batchストアドプロシージャ呼び出しの応答メッセージを入力スキーマの1つとして使用するようにします。あなたはWCF-SQLアダプタを使用して、テーブルの操作でこれをやっている場合、これはあなたの2番目の質問についてはこちらをCreating BizTalk map with multiple input schema

この質問に対する私の答えを参照行うには、その意志sqlBinding設定でtrueにuseAmbientTransactionプロパティを設定することができます1つのトランザクションで複数の呼び出しをラップします。

+0

マルチルートマッピングは、Hughの解決法です。 UseAmbientTransactionはデフォルトでtrueに設定されています。 –

関連する問題