2013-12-23 5 views
2

일부 데이터를 "실시간"으로 볼 수 있도록 15 초마다 실행되는 작업을 개발 중입니다.SSIS의 원본에서 대상 업데이트 데이터 흐름 작업

특정 응용 프로그램을 보는 다른 서버의 소스에서 가져옵니다.

과거에는 목적지를 잘라내어 삽입했습니다. 그러나 대상을 새 소스로 업데이트하려고하므로 0으로 4000 딥이 표시되지 않고 4003으로 다시 표시되지 않습니다.

임시 테이블을 갖는 것이 한 가지 해결책입니다. 작업은 해당 임시 테이블에서 대상 테이블을 업데이트합니다.

이 방법을 사용 하시겠습니까? 기분이 더럽다.

데이터 흐름 작업 OLE DB 대상 내에서 데이터 액세스 모드를 SQL 명령으로 변경할 수 있습니다. 이 명령에서 소스를 어디에서 참조 할 수 있습니까? 데이터가 우리 편에서 조작 할 수 있다는 것은 논리적 인 것처럼 보입니다.

도움을 주셔서 감사합니다.

+0

행의 변경 사항을 업데이트하거나 새 행을 삽입해야합니까? – Zane

+0

예; 나는 명시해야한다 - 단지 그 테이블에 10-15 개의 레코드가 많을 것이다. 나는 그들을 단지 업데이트 할 것이다. – user1310989

답변

2

일부 레코드 만 수행하는 경우 조회를 사용하여 이미 가지고있는 것과 일치시키지 않으면 삽입 또는 업데이트하십시오.

QueryToMatch

OleSource To Lookup

그런 다음 어떤 경기에 BULK INSERT을하고 일치상의 UPDATE을한다.

+0

이것은 우수합니다. 내가 주목 한 한 가지 특징; 작업이 실패하면 (해당 키에 대한 매핑이 없음) OLE DB 대상에 놓은 실패한 레코드를 출력합니다. 그런 다음 실패한 행을 삽입합니다 (대량 삽입이 의미하는 바는 아니지만 실제로는 백엔드에서 발생할 수 있음). 어쨌든, 이것은 완벽하게 작동합니다. – user1310989

+0

기꺼이 도와 드리겠습니다. – Zane

+0

연결 관리자를 표시 할 수 있습니까? – Kermit

관련 문제