2014-04-14 6 views
2

디렉터리에 3 개의 파일이 있고 그 중 두 개는 구조가 동일하며 세 번째 파일에는 파일 끝에 세 개의 추가 열이 있습니다.구조가 다른 파일 처리 각 루프 SSIS

file 1: columna,....,columnz 
file 2: columna,....,columnz 
file 3: columna,....,columnz,Column1,Column2,column3 

각 루프 컨테이너마다 하나의 연결을 사용하여 이러한 파일을 모두 가져올 수 있습니까? 플랫 파일 연결 연결이 파일을 기반으로하는 경우 3.

답변

5

SSIS에서는이 기능을 사용할 수 없습니다. 파일 3 용으로 설계된 플랫 파일 연결을 사용하면 파일 1에서로드 된 데이터가 손상됩니다.

서로 다른 레이아웃에 대해 2 개의 플랫 파일 연결을 작성한 다음 For Each 루프 컨테이너에서 2 개의 데이터 흐름 태스크를 빌드합니다. 두 가지 레이아웃. 식을 사용하여 데이터 흐름 작업을 사용하지 않도록 설정하여 각 파일에 대해 적절한 데이터 흐름 작업 만 실행되도록했습니다.

+0

마지막 조각을 잡지 못했습니다. 각 데이터에 대해 적절한 데이터 흐름 작업 만 실행되도록 식을 사용하여 데이터 흐름 작업을 사용하지 않도록 설정하십시오. – singhswat

+0

식을 사용한 데이터 흐름 작업 파일 1에 대한 DFT의 식은 다음과 같습니다 :'SUBSTRING (@ [User :: MyFileName], 1, 5)! = "파일 1 :"' –

2

유일한 방법은 각 행을 하나의 varchar 열로로드 한 다음 나중에 분할하는 것입니다.