2012-02-08 1 views
0

SSIS을 사용하여 플랫 파일에서 DB로 데이터를 가져와야합니다. 여기서 문제는 플랫 파일에 따라 파생 열 변환 (DCT)을 동적으로 선택해야한다는 것입니다.주어진 플랫 파일을 기반으로 파생 열 변환을 동적으로 선택하는 방법

예 : 나는 5 열로 DCT 필요 flatfile-1, 이

한다고 가정 나는 10 열이 DCT를 필요로 다른 flatfile-2를 얻을 경우. 그렇다면 플랫 파일에 기반한 DCT를 어떻게 동적으로 선택할 수 있습니까?

많은 테이블에서해야 할 일 ... 친절하게 생각을 나누십시오.

답변

0

나는 이것을 할 방법이 있다고 생각한다. SSIS 패키지를 생성하기위한 C# 코드를 작성 중이다. 그래서 각 플랫 파일에 대해 루프를 통해 번호를 기준으로 처리합니다 (각 파일은 숫자로 표시된 테이블에 속합니다.) 이제 플랫 파일을 가져올 때 이름을 추출합니다 (번호) 그리고 나서는 메타 테이블을 쿼리하여이 데이터 그룹의 테이블 이름과 열을 가져오고 "파생 열 변환"에 대한 열로 얻은 열을 사용하고 위치를 기준으로 삼습니다. 플랫 파일 임포트는 자신의 위치를 ​​기준으로합니다.) 나는 패키지를 프로 그램으로 생성함으로써 각 플랫 파일에 대한 패키지를 생성 할 수 있다고 생각합니다. 희망이 도움이됩니다.

0

여기에 답이 나와 있습니다. 듣고 싶지 않았을 수도 있습니다. 불행히도, 그렇게 할 수 없습니다. SSIS 패키지에는 상수 메타 데이터가 필요합니다. 즉, 데이터 흐름의 모든 외부 메타 데이터 (원본 및 대상 테이블)가 변경되지 않아야합니다. SSIS는 메타 데이터의 변경 사항을 가능한 오류로 간주합니다.

아마도 BIDSHelper을 고려하고 BIML 기능을 사용해야합니다.