2011-01-19 4 views
4

SSIS에 대해 너무 많이 알지는 못하지만 나는 이것으로 할 수있는만큼 많이 봤습니다. 내가 얻을 수있는 도움에 정말 감사드립니다.플랫 파일 원본에 대한 SSIS의 WHERE 절 기능이 있습니까?

SSIS 패키지를 만들고 있는데 플랫 파일 원본의 특정 데이터 집합 만 삽입하려고합니다. WHERE 절을 사용하여 특정 데이터를 끌어 오는 방법이 있습니까?

예를 들어이 쿼리를 데이터 흐름 태스크로 만들려면 어떻게해야합니까?

INSERT INTO #TempTable (Column1, Column2) 
SELECT Column1, Column2 
FROM TEXTFILESOURCE 
WHERE Column1 <> 'ABC' 

데이터 흐름 작업을 통해이 작업을 수행 할 수 있습니까?

답변

10

AFAIK이 작업을 수행 할 수있는 플랫 파일 원본 작업에는 아무 것도 없지만 일단 설정 및 데이터 흐름이 완료되면 조건부 분할을 사용하여 Where 조건과 동일한 논리를 사용하여 행을 필터링 할 수 있습니다 귀하의 질문에.

+0

나는 Conditional Split이 대부분 CASE WHEN 문이라는 인상을 받았다. 이 필터를 사용하여 데이터를 모두 제거 할 수 있습니까? 그래서 Object Name은 WHERE 1이고 Expression은 Column1 <> 'ABC'일까요? – iamtheratio

+0

예, 원하지 않는 행을 처리 할 필요가없는 다른 태스크 (예 : Row Count 태스크)로 보낼 수 있습니다. 그런 다음 관심있는 행을 계속 처리하십시오. 일치하지 않는 행이 기본 출력 플로우로 출력되므로 하나의 조건 만 필요합니다. – grapefruitmoon

+0

그 트릭을 했어. SSIS 표현 언어에 대해 좀 더 배워야 구문을 올바르게 알 수있다. 다시 한 번 고마워, 고마워! – iamtheratio