2014-04-24 2 views
1

SQL 서버 테이블에로드하려는 플랫 파일 데이터 소스가 있습니다. 그러나 테이블의 열 중 하나는 데이터베이스 쿼리의 결과에서 가져와야합니다. 쿼리는 플랫 파일 데이터와 완전히 독립적이므로 여기서는 조인이 적절한 지 확신하지 못합니다. 트리거 기반 솔루션을 사용하는 대신 실용적인 경우 ssis에서이를 해결하고 싶습니다.SSIS 패키지의 플랫 파일과 다른 데이터 소스를 결합하십시오.

쿼리는 플랫 파일의 모든 행에 사용되는 하나의 값을 반환합니다. 쿼리가 행마다 한 번만 평가되지 않으면 좋을 것입니다. 쿼리가 하나 개의 값을 반환하면

+0

쿼리는 각 레코드에 적용해야하는 단일 값을 반환합니까? 동일한 값 (예 : file_id) 또는 레코드 당 고유 값? – Zak

답변

0

, 당신은 할 수 있습니다

  1. 실행 A A SSIS 패키지 변수에 결과를 저장, 쿼리와 SQL 작업을 실행합니다.
  2. 데이터 흐름 작업에서 플랫 파일을 읽은 다음 파생 열 변환을 추가합니다. 여기에서 표현식은 단순히 패키지 변수입니다.
  3. 이제 데이터 흐름을이 값을 포함하여 선택한 테이블로 보낼 수 있습니다.

당신도 할 수 있습니다

  1. 로드 데이터 첫째,이 필드는 null를 떠나.
  2. 집합 기반 UPDATE 문을 실행하여 대상 테이블의 모든 레코드를 업데이트합니다.

물론 이것은 목표 테이블이 비어 있다고 가정합니다.

관련 문제