2013-08-21 2 views
0

이 작업을 수행하는 것이 올바른지 알아보기 위해 노력하고 있습니다. 다른 개선 제안 사항은 크게 감사드립니다.한 데이터베이스의 뷰에서 다른 데이터베이스의 테이블로 데이터 전송

SSIS 패키지에는 다음 항목이 있습니다.

enter image description here

  1. 데이터 흐름 작업과는 뷰가 소스 데이터베이스에 대한 OLE DB 연결을 설립했다.
  2. Execute SQL 작업 - INSERT INTO 대상 제외를 사용하여 쿼리를 실행하고 있습니다 (원본에서 이미있는 모든 레코드).
  3. 전자 메일 보내기 작업은 전자 메일을 보내는 것입니다.

데이터 전송이 성공적임을 어떻게 알 수 있습니까? 그래서 나는 성공 또는 실패를 나타내는 에 보내기 메일을 사용할 수 있습니다. 자동으로 실행되도록이 패키지를 예약하는 방법

(매주 화요일입니다.)

나는 아래의 제안을 시도했습니다. 새로운 데이터 흐름 태스크를 참조하십시오.

enter image description here

OLE DB 원본 - 데이터베이스 서버 1 조회에서 뷰 포인트는 OLE DB 소스에서 모든 행을 가져옵니다. (원본 및 조회의 행 개수) 과 일치합니다.

조회 작업에서 모든 매핑 된 열에 '리디렉션 행'을 사용하도록 오류 출력을 구성했습니다. .. 이미 소스에서 레코드의 하위 집합이있는 OLE DB 대상에

(대상 테이블 구성 오류 출력이 삽입에 대한 unmatches 행을 얻을 그래서

이 때, 나는 패키지를 실행 - 나는 무엇입니까 기본 키 제약 조건 오류로는 -. 중복 키를 삽입

어떤 제안을 할 수 없습니다

답변

1

당신은 Execute SQL TaskSend Mail Task까지 커넥터를 두 번 클릭하는 것이 좋습니다 현재는 단지 성공에 그 경로를 취할 것입니다 나타내는 녹색입니까?. 죄수를 업데이트하고 싶습니다. traint는 성공 또는 실패 여부에 관계없이 완료해야합니다.

소스에서 모든 데이터를 가져 와서 스테이징 테이블에 쓰는 데이터 흐름이있는 것 같습니다. 그런 다음 SQL 실행 태스크에서 쿼리를 사용하여 존재하지 않는 대상 테이블에 데이터를 추가합니다.

단일 데이터 흐름으로 통합 할 수 있습니다. OLE DB 원본과 OLE DB 대상간에 조회 작업을 추가하십시오. 2005 년부터 Lookup은 2008+와 약간 다르게 작동합니다. 대상 테이블에 비즈니스 키를 가져온 쿼리를 작성한 다음이를 OLE DB 원본에서 가져 오는 쿼리와 비교합니다. 해당 키를 인터페이스에 매핑하십시오.

일치하지 않는 행만 필요하므로 조회에서 "일치하지 않는 레코드"를 가져와야합니다. 2005 년에 Unmatched 출력에 대한 옵션이 존재하지 않으므로 Error 출력을 OLE DB 대상으로 라우팅해야합니다.

앤디 레너드 (Andy Leonard)는이 작업을 수행하는 방법에 대한 간단한 글을 올렸습니다. Configuration an SSIS 2005 Lookup Transformation for a Left Outer Join 유일한 차이점은 일치하는 행을 신경 쓰지 않는다는 것입니다. Ignore Failure 대신 Redirect Row을 선택하십시오. 그런 다음 Lookup을 OLE DB 대상에 연결하면 두 가지 옵션이 표시됩니다. 녹색 커넥터가 일치하는 빨간색 커넥터는 일치하지 않는 행입니다. 빨간색 경로를 목적지에 연결하십시오.

+0

고마워요 !! 데이터 흐름 탭 내부 - 이제 OLE DB 원본 (원본 데이터베이스와보기의 데이터), 조회 (원본에서보기 데이터 조회) 및 OLE DB 대상 (대상 데이터베이스와 테이블 포함)이 있습니다.이 SSIS 패키지가 매주 실행되며, 필적 할 수없는 레코드 만 전송되기를 원합니다. "Route the OLE DB Destination에 대한 오류 출력"을 이해할 수 없습니다. 이 구성에 도움이되는 링크의 예는 훌륭합니다. 당신의 협조에 감사드립니다. – kalls

+0

설명 및 기사 링크가 업데이트되었습니다 – billinkc

+0

링크 및 기사 주셔서 감사합니다. 나는 아직도 이것에 문제가있다. "목표 테이블의 비즈니스 키를 가져 와서 OLE DB 원본에서 가져 오는 것과 비교하는 쿼리를 작성할 것입니다. 인터페이스에서 해당 키를 매핑하십시오"어떻게 이것을합니까? 소스 및 조회 작업을 컴파일 (녹색으로 표시) 할 수 있었고 대상이 기본 키 제약으로 인해 실패했습니다. OLE DB 대상을 조회 할 때 조회 오류 출력을 수행하고 있습니다. 아직 사과하지 않으면 사과드립니다. 나는 당신의 지원에 크게 감사드립니다. – kalls

관련 문제