이 작업에서는 각 플랫 파일이 포함된 폴더를 반복하여 1단원에서 사용한 동일한 데이터 흐름 변환을 각 플랫 파일에 적용하는 기능을 추가합니다. 이렇게 하려면 제어 흐름에 Foreach 루프 컨테이너를 추가하고 구성합니다.
추가하는 Foreach 루프 컨테이너는 폴더의 각 플랫 파일에 연결할 수 있어야 합니다. 폴더의 모든 파일 형식이 동일하기 때문에 Foreach 루프 컨테이너는 동일한 플랫 파일 연결 관리자를 사용하여 이러한 각 파일에 연결할 수 있습니다. 컨테이너에서 사용할 플랫 파일 연결 관리자는 1단원에서 만든 것과 동일한 플랫 파일 연결 관리자입니다.
현재 1단원의 플랫 파일 연결 관리자는 하나의 특정 플랫 파일에만 연결됩니다. 폴더의 각 플랫 파일에 반복적으로 연결하려면 다음과 같이 Foreach 루프 컨테이너와 플랫 파일 연결 관리자를 모두 구성해야 합니다.
Foreach 루프 컨테이너: 컨테이너의 열거형 값을 사용자 정의 패키지 변수에 매핑합니다. 그런 다음 컨테이너는 이 사용자 정의 변수를 사용하여 플랫 파일 연결 관리자의 속성을 동적으로 수정
ConnectionString하고 폴더의 각 플랫 파일에 반복적으로 연결합니다.플랫 파일 연결 관리자: 연결 관리자의 속성을 채우기 위해 사용자 정의 변수를 사용하여 1단원에서 만든 연결 관리자
ConnectionString를 수정합니다.
이 태스크의 절차에서는 사용자 정의 패키지 변수를 사용하고 데이터 흐름 태스크를 루프에 추가하도록 Foreach 루프 컨테이너를 만들고 수정하는 방법을 보여 줍니다. 다음 작업에서 사용자 정의 변수를 사용하도록 플랫 파일 연결 관리자를 수정하는 방법을 알아봅니다.
패키지를 수정한 후 패키지가 실행되면 Foreach 루프 컨테이너는 샘플 데이터 폴더의 파일 컬렉션을 반복합니다. 조건과 일치하는 파일이 발견될 때마다 Foreach 루프 컨테이너는 사용자 정의 변수를 파일 이름으로 채우고, 사용자 정의 변수를 ConnectionString 샘플 통화 데이터 플랫 파일 연결 관리자의 속성에 매핑한 다음, 해당 파일에 대해 데이터 흐름을 실행합니다. 따라서 Foreach 루프의 각 반복에서 데이터 흐름 태스크는 다른 플랫 파일을 사용합니다.
비고
MicrosoftIntegration Services는 제어 흐름을 데이터 흐름과 분리하므로 제어 흐름에 추가하는 모든 루프는 데이터 흐름을 수정할 필요가 없습니다. 따라서 1단원에서 만든 데이터 흐름을 변경할 필요가 없습니다.
Foreach 루프 컨테이너를 추가하려면
SQL Server 데이터 도구에서 제어 흐름 탭을 클릭합니다.
SSIS 도구 상자에서 컨테이너를 확장한 다음 Foreach 루프 컨테이너를 제어 흐름 탭의 디자인 화면으로 끕니다.
새로 추가된 Foreach 루프 컨테이너를 마우스 오른쪽 단추로 클릭하고 편집을 선택합니다.
Foreach 루프 편집기 대화 상자의 일반 페이지에서 이름에 입력
Foreach File in Folder합니다. OK를 클릭합니다.Foreach 루프 컨테이너를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 속성 창에서 속성이 영어(미국)로 설정되어 있는지
LocaleID확인합니다.
Foreach 루프 컨테이너에 대한 열거자를 구성하려면
폴더에서 Foreach 파일을 두 번 클릭하여 Foreach 루프 편집기를 다시 엽니다.
컬렉션을 클릭합니다.
컬렉션 페이지에서 Foreach 파일 열거자를 선택합니다.
열거자 구성 그룹에서 찾아보기를 클릭합니다.
폴더 찾아보기 대화 상자에서 컴퓨터에서 Currency_*.txt 파일이 포함된 폴더를 찾습니다.
이 샘플 데이터는 SSIS 단원 패키지에 포함되어 있습니다. 샘플 데이터 및 단원 패키지를 다운로드하려면 다음을 수행합니다.
다운로드 탭 을 클릭합니다.
HYPERLINK "https://msftisprodsamples.codeplex.com/downloads/get/578097"를 클릭합니다. SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip 파일입니다.
파일 상자에 Currency_*.txt입력합니다.
열거자를 사용자 정의 변수에 매핑하려면
변수 매핑을 클릭합니다.
변수 매핑 페이지의 변수 열에서 빈 셀을 클릭하고 새 변수를 선택합니다<.>
변수 추가 대화 상자에서 이름에 대해 .를 입력합니다
varFileName.중요합니다
변수 이름은 대/소문자를 구별합니다.
OK를 클릭합니다.
[확인]을 다시 클릭하여 Foreach 루프 편집기 대화 상자를 종료합니다.
루프에 데이터 흐름 태스크를 추가하려면
- 추출 샘플 통화 데이터 흐름 태스크를 지금 이름이 변경된 Foreach 루프 컨테이너로 끌어다 놓습니다.