2009-04-17 10 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 

을 내가 달성하기위한 옵션으로 찾고있다 그러나 일부 사람들은 갈 길에 대한 조언을 구하기를 희망했습니다. 내가 시도

상황은 다음과 같습니다

  • 분할 후 멀티 소스 맵을 사용하여 각 유형의 기록과 메시지에 원본 메시지가 그들을 가입 할 수 있습니다. 내가 펑 토이 드 (functoids)를 사용해야할지 확신이 서지 않아 어려움을 겪었습니다.
  • SQL 조회 펑 토이 드를 사용하여 상위 레코드의 추가 열을 채울 수 있도록 하위 레코드를 SQL 데이터베이스에 삽입합니다. 이것은 내가 기대했던 것보다 약간 느리고 데이터베이스 사용에 대한 추가 의존성이 있습니다.
  • DTS를 사용하여 파일을로드하고이를 형식으로 변환하고 BizTalk에서 소비하는 조인 된 형식으로 파일을 작성합니다. 이것은 간단하고 빠르지 만 BizTalk를 사용하지 않습니다.

앞으로 BizTalk를 최대한 활용하는 방법에 대한 조언을 주시면 감사하겠습니다.

답변

0

이것은 ETL 문제와 비슷하게 들립니다. 나는 SSIS를 제안 할 것이다. 과거에는 ETL에 BizTalk을 사용했으나 절대로 끝나지 않았습니다.

0

아마도 'Muenchian method'라는 제목의 매핑을 사용하여 사용자 지정 xslt를 작성할 수 있습니다. xslt를 사용하여 xml 입력을 정렬하는 방법입니다. 이 경우 입력은 BizTalk에서 제공하는 플랫 파일의 xml 표현이 될 수 있습니다.

HotRod 잡지의 http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf 에서 2009 년 2 월호를 참조하십시오.이 문제는 BizTalk에서 사용자 지정 xslt를 사용하는 데 대한 주체도 처리합니다.