2009-06-26 3 views
2

BizTalk의 플랫 파일에서 헤더 행을 제거하는 가장 간단한 방법은 무엇입니까? 필자는 헤더 행 (그리고 본문에 대한 별도의 스키마)을 작성한 다음 '방금 구성한 파이프 라인'대화 상자에서 HeaderSpecName 특성을 설정하고 방금 생성 한 PreserveHeader 특성을 false로 설정합니다. 내 문제는, 그러나,이 솔루션을 사용하면 머리글 행을 제거 할 수 있도록 존재해야하는 것 외에는 아무것도 수행하지 않는 스키마를 만들어야합니다.BizTalk의 플랫 파일에서 헤더 제거

답변

3

나는 당신이 말한 것이 당신이 요구하는 것을하는 권고 된 방법이라고 믿습니다. 난 그냥 일하고 있고 추가 스키마를 가지고 선택 프로젝트 에서이 일을했다.

또 다른 옵션은 플랫 파일 디스어셈블러 앞에 실행되는 디스 어셈블리 스테이지에 자신의 custom pipeline component을 쓰는 것입니다. 해독 단계도 작동 할 것이지만 해체 단계가 이러한 유형의 작업을 위해 만들어진 것으로 보입니다.

이 두 번째 옵션은 머리글 행을 더 일반적으로 제거하고 많은 다른 스키마에서 사용할 수 있으므로 각 플랫 파일 스키마에 별도의 머리글 스키마를 만들 필요가 없습니다.

+0

답변 해 주셔서 감사합니다. 내 의심을 확인해 줬어. 나는 "첫 줄/머리글 무시"가 스키마를 만들지 않고도 바라고 생각합니다. –

2

언제든지 머리글 행을 구문 분석하고 매핑하지 않을 수 있습니다.

3

플랫 파일 스키마 마법사를 통해이 작업을 수행하는 것이 좋습니다. 단일 레코드로 첫 레코드를 정의한 다음 다른 레코드를 반복 레코드로 정의하십시오. 그러면 작업중인 맵이나 변환에서 헤더 레코드를 무시할 수 있습니다. FF 마법사를 완전히 무시함으로써 헤더 레코드를 무시할 수도 있지만 내 스키마에 정의 된 모든 것을 가지고있는 것을 선호합니다 ...

도움말 및 Microsoft 자습서를 확인하십시오. 헤더 레코드를 식별하는 코드 프로젝트. 헤더 레코드의 절대 위치 ("항상 첫 번째 라인"과 같이)를 알면 레코드 태깅을 망칠 필요가 없습니다.

http://www.codeproject.com/Articles/13706/Creating-Flat-File-schemas-using-the-BizTalk-Serve

0

스키마는 여러 가지 이유로 존재한다. 그러한 이유 중 하나는 계약을 효과적으로 의미하는 당사자가 생성 한 메시지 구조를 포착하는 것입니다. 따라서 필드를 사용하지 않아도 스키마를 캡처하는 것이 좋습니다.

0

PreserveHeader가 예상대로 작동하지 않는다고 생각합니다. 이 속성은 헤더의 값이 디스어셈블러에서 나오는 XML 메시지의 컨텍스트로 승격되는지 여부를 결정합니다.