문제

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

이 답변을 읽었습니다.

SSIS 트랜잭션 데이터 (다른 레코드 유형, 하나의 파일)

조건부 분할 작업을 사용하여 데이터를 분할하여 여러 출력을 생성 할 수 있지만 그곳에서 어떻게 진행 해야할지 잘 모르겠습니다. 해결해야 할 두 가지 문제가 있습니다.

  1. 주소와 세부 사항이 주문 레코드를 참조하기 때문에 주소와 세부 사항 전에 주문 헤더를 먼저 삽입해야하므로 해당 출력을 먼저 처리해야한다고 생각하지만 SSIS에서 해당 분기를 만드는 방법은 확실하지 않습니다. 조건부 분할 작업이 처리됩니다 ~ 전에 다른 지점. 이상적으로는 주문 헤더를 처리 한 다음 주문 ID를 사용자 변수에 저장하여 세부 사항을 처리 할 때 해당 변수를 참조 할 수 있습니다.

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

항상 C#에 파일을 전제하거나 파일을 준비 테이블로 읽을 응용 프로그램을 작성할 수 있지만 해당 접근 방식이 마음에 들지 않습니다.

이 과정을 겪은 사람이라면 누구나 그들이 어떻게 처리했는지에 대한 통찰력을 공유 할 수 있습니까?

감사,

크리스

도움이 되었습니까?

해결책

분할 후 각 유형의 레코드를 자체 스테이징 테이블 또는 SSIS 원시 데이터 대상에 입금하여 이와 같은 중간 단계에 더 빠르고 좋습니다. 그런 다음 모든 헤더를 최종 테이블에로드하고 참조 오류없이 진행하십시오.

세부 레코드에 헤드러리가 있다고 가정하고 있습니까? 그것은 당신의 두 번째 질문을 쉽게 처리해야합니다. 그렇지 않다면 알려주십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top