2009-04-17 3 views
1

私はBizTalkを使用して解決しようとしていますが、問題を解決するための最良の方法について考えてください。フラットファイルアダプタを使用してフラットファイルにロードしています。このファイルには、さまざまな種類のレコードが含まれています。タイプ1レコードは親レコードです。残りの型はすべて、さまざまな外部キーを使用して親レコードにリンクします。私はフラットファイル(すべてのタイプのレコードを含む)をロードして作成したメッセージを受け取り、それを外部キーに基づいてすべてのレコードを結合した結果のメッセージに変換する変換を開発しようとしています。したがって、結果のメッセージの各レコードは、メッセージレコードが結合の結果になるため、すべてのレコードタイプの列を持ちます。BizTalk 2006を使用してレコードを結合する

例えば、フラット・ファイルには、次のレコードが含まれる場合があります。

* Type1 
* Type1 
* Type2 
* Type2 
* Type3 
* Type4 
* Type4 

後のメッセージのようにレコードが含まれている場合があります変換:

* Type1 columns, type2 columns, type3 columns, type4 columns 
* Type1 columns, type2 columns, type4 columns 

を私は達成するためのオプションの中に探していますこれはいくつかの人々が行く道にアドバイスを持っていることを望んでいた。私が試してみました

物事は以下のとおりです。

  • は、それらを結合するために、マルチソースマップを使用して、各タイプのレコードを持つメッセージに元のメッセージを分割します。私はこれを達成するのが難しかったのですが、どのファントドイドを使うべきか分かりませんでした。
  • 子レコードをSQLデータベースに挿入すると、SQLルックアップ・ファンクドイドを使用して親レコード内の追加列にデータを入れることができます。これは私が望んでいたよりも少し遅く、データベースを使用するという追加の依存関係があります。
  • DTSを使用してファイルをロードし、そのファイルを形式に変換し、BizTalkが使用する結合形式のファイルを書き出します。これは簡単で高速ですが、BizTalkを使用していません。

このためにBizTalkを最大限に活用する方法について、アドバイスをいただければ幸いです。

答えて

0

これは、ETLの問題によく似ています。私はSSISをお勧めします。私は過去にETLのためにBizTalkを使用しましたが、それはうまく終了しませんでした。

0

「Muenchianメソッド」を使ってマッピング用のカスタムxsltを書き込もうとするかもしれません。これは、xsltを使用してXML入力をソートする方法です。この場合の入力は、BizTalkが提供するフラットファイルのxml表現です。

HotRod誌http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf のQ2 2009の問題を参照してください。この問題は、BizTalkでカスタムxsltを使用する件名も処理します。

関連する問題