2012-04-25 8 views
2

OnError 및 OnPostExecute 이벤트 처리기를 설정하는 SSIS 패키지가 있습니다. 패키지는 간단한 루프 컨테이너이며 처리기 OnPostExecute가 정상적으로 작동합니다.SSIS : OnPostExecute OnError 문제

하지만 OnError가 실제로 작동하지 않습니다. 필자는 OnError 핸들러를 테스트하기 위해 Loop 내부의 태스크에 잘못된 코드를 추가했으나 활성화되지 않았습니다. OnPostExecute 처리기는 Loop 내부의 매우 복잡한 프로세스 후에 작동합니다.

한편, Ive는 자체적으로 OnError 작업을 실행하려고 시도했지만 작동했습니다. 따라서 오류가 발생하면 활성화되지 않습니다.

일부 정보 패키지를 멈추고 싶지 않기 때문에 루프 내부의 모든 태스크에 대해 Propalate 시스템 변수를 FALSE로 설정했습니다. (아마도 이것과 관련이 있습니다) OnError 핸들러는 패키지 레벨입니다.

프로세스가 오류를 발견했을 때 OnError가 실행되지 않는다고 생각하십니까? 감사합니다.

+0

question1 : 전파 할 때 작동합니까? 질문 2 : 패키지를 어떻게 운영하고 있습니까? f5? – Diego

+0

1. 아니요, 작동하지 않습니다. 차이점은 첫 번째 오류가 발생한 후에 프로 시저가 중지된다는 것입니다. 그러나 OnError는 활성화되지 않습니다. 2. 마우스를 사용하여 재생 버튼으로 실행하고, F5를 사용해 보았습니다. 덕분에 –

+0

문제를 해결 했습니까? SQL Server 용 기본 로그 공급자를 사용하면 실행 결과 탭에서 디버깅하는 동안 오류가 표시되는 경우에도 내 dbo.sysssislog 테이블에서 OnError 이벤트를 가져올 수 없습니다. 내 목표는 사용자 지정 OnError 이벤트 처리기를 피하는 것이 었습니다. –

답변

0

"DisableEventHandlers"속성을 확인하십시오. 실행되지 않는 작업에서는 false로 설정해야합니다.

+0

false로 설정됩니다. –