2010-05-27 2 views
0

저는 Integration Services가 데이터 흐름 중에 오류가 발생하여 데이터가 대상에 들어 가지 않음을 보여주는 방법을 데모하는 작업을 수행했습니다. 이 패키지는 기존 패키지이며 가능한 한 코드 변경 내용을 패키지로 제한하려고합니다 (이는 한 번 거래 일 가능성이 큽니다).Integration Services 데이터 흐름에서 롤백을 수행하기 위해 오류를 강제로 적용 할 수 있습니까?

이해하려고하는 시나리오는 "전신"실패 - 나는 오류 출력을함으로써이 그렇게 할 수있어 소스 파일이 중류을 사라, 또는 파일 서버의 전원 공급이 중단 등

실패로 설정하고 잘못된 데이터를 도입하는 소스 코드를 사용했지만 그보다 가벼운 작업을하고 싶습니다.

나는 스크립트 변환 작업을 추가하고 특정 값을 찾고 오류를 던질 수 있다고 생각하지만 누군가가 더 쉽고/더 우아하게 꾸미기를 바랐다.

감사합니다,

매트

답변

0

엉망 일부 잘못된 데이터를 붙여 나 항상

0

우리 같은 UTF-8 또는 뭔가처럼 다른 형식으로 저장하여 가져 오려는 파일 메타 데이터 테이블의 데이터 흐름을 닫는 작업이 끝에 있습니다. 오류를 테스트하기 위해 나는 단순히? 그것은 실행되는 저장 프로 시저에 대한 변수입니다. 쉽게 할 수 있고 쉽게 원래대로 되돌릴 수 있고 우리의 오류 트래핑이 오류가있는 데이터 흐름을 닫으면 아무 것도 데이터를 엉망으로 만들지 않습니다. 입력 변수를 사용하여 저장된 proc을 호출하는 작업을 추가하되 매개 변수를 지정하지 않아도 비슷한 결과를 얻을 수 있습니다. 그런 다음 테스트가 완료되면 해당 작업을 비활성화하십시오.

0

패키지의 트랜잭션 수준 속성으로 시도 할 수 있습니까?

데이터 흐름이 실패하면 대상의 모든 데이터를 되돌립니다.

데이터 흐름이 성공한 경우에만 데이터를 대상으로 커밋하고 그렇지 않은 경우 대상에서 데이터를 롤백합니다.

0

데이터가 트랜잭션으로 실행되고 있지 않으면 데이터가 대상으로 이동합니다. 부분 데이터를 채우지 않으려면 트랜잭션을 사용해야합니다. 그런 다음 실제 결과와 상관없이 제어 흐름 항목의 최종 결과를 "실패"로 설정하는 옵션이 있지만 데이터 흐름 항목에서는 사용할 수 없습니다. 오류가 발생하는 상황에서 데이터 또는 코드에 실제 오류를 생성해야합니다. 다른 방법은 없습니다 ...

관련 문제