2009-09-14 2 views
1

SSIS가 새 프로젝트에 적합한 지 확인하기 위해 SSIS를 평가하고 있습니다. 프로세스 중 하나는 구분 된 레코드가있는 플랫 파일을 처리해야합니다. 파일에 주문이 포함됩니다. 헤더 행, 선 택 주소 (선택 사항) 및 하나 이상의 세부 선이 있습니다. 각 행의 필드는 구분되지만 동일한 형식은 아닙니다.SSIS를 사용하여 여러 레코드 유형이있는 플랫 파일 읽기

SSIS transactional data (different record types, one file)

그리고 여러 출력을 생성하는 조건부 분할 작업을 사용하여 데이터를 분할 할 수 있지만, 거기에서 진행하는 방법을 잘 모르겠습니다 :

나는이 대답을 참조하십시오. 내가 해결해야 할 두 가지 문제가 있습니다

  1. 주문 헤더 주소와 주문 기록을 참조합니다 세부 이후 주소 및 세부 전에 먼저 삽입되어야한다, 그래서 내가 그 출력을 처리 할 필요가 있다고 생각 먼저 SSIS에서 Conditional Split 작업의 분기를 처리하기 전에 다른 분기 전에 처리 할 수 ​​있는지 확신하지 못합니다. 이상적으로, 주문 헤더를 처리하고 주문 ID를 사용자 변수에 저장하여 세부 사항을 처리 할 때 해당 변수를 참조 할 수 있도록하고 싶습니다.

  2. 파일에 여러 개의 주문이 있으므로 분할하는 것이 더 복잡합니다.

난 항상 준비 테이블에 파일을 읽을 전처리 파일을합니다 또는 C#에서 응용 프로그램을 작성할 수 있습니다,하지만 난 그 방법을 좋아 모르겠어요.

이 프로세스를 수행 한 사람이라면 누구나 처리 방법에 대한 통찰력을 얻을 수 있습니까?

감사합니다,

크리스

답변

2

분할 한 후, 자신의 준비 테이블에 기록의 각 유형을 입금 - 또는 빠르고 이런 중간 단계에 대한 좋은이다 SSIS 원시 데이터의 목적지로. 그런 다음 모든 헤더를 최종 테이블에로드하고 참조 오류없이 진행하십시오.

세부 레코드에 headerID가 있다고 가정합니다. 그렇게하면 두 번째 질문에 쉽게 대처할 수 있습니다. 그렇지 않다면 저희에게 알려주십시오.

+0

감사합니다. 테스트 해 보겠습니다. 원시 데이터 대상에 익숙하지 않습니다. 스테이징 테이블을 사용할 생각 이었지만 대안이 있는지 궁금해하고있었습니다. 다시 한번 감사드립니다. –