2012-06-15 3 views
0

모든 제어 흐름 요소에 OnPostExecute 이벤트 처리기가 있지만 패키지 수준에 OnError 처리기를 추가하자마자 작업 수준 처리기가 더 이상 표시되지 않습니다. 이 버그는 알려진 버그이거나 내가 잘못하고있는 것입니다.SSIS의 이벤트 처리기 우선 순위

답변

1

각 패키지 작업에서 OnPostExecute 이벤트 처리기가 만들어지기 때문입니다. 패키지 수준은 모든 작업에 대한 OnPosteExecute 이벤트를 나타냅니다.

+0

그래서, (각 작업에 대해) 내가 만든 포스트 실행 이벤트가 패키지 레벨 핸들러에 의해 무시 된 것입니까? 나는 여전히 양쪽에서 값을 볼 수 있습니다! – rvphx

+0

아니요, 재정의되지 않습니다.패키지가 이벤트 핸들러를로드하고 태스크가 해당 이벤트 핸들러를로드하므로 둘 다 표시됩니다. – dirtyw0lf

+0

의미가 있습니다. 감사! – rvphx

1

무엇이 보이지 않는다는 것을 의미합니까? 이벤트 처리기 아래에 굵게 표시된 유일한 것은 패키지의 OnError입니까?

enter image description here

때문에, 두려워하지 않으면

, 패키지의 OnPostExecute의 모든 이벤트는 여전히 존재한다. 트릭은 이벤트 핸들러를 클릭했을 때 커서의 초점입니다. 지정된 실행 파일과 연결된 이벤트 처리기를 보려면 제어 흐름을 다시 클릭하고 지정된 실행 파일을 클릭 한 다음 이벤트 처리기를 클릭하십시오. 더 쉬운 방법은 Executable 선택기 막대를 사용하여 그 안에 들어있는 것입니다.

enter image description here

내 SQL 실행 작업상의 OnPostExecute 이벤트를 정의했다 그래서 나는 그것을 클릭하고 확인을 선택했습니다.

지금 나는 당신이 뭔가를 찾기 위해 노력하고 다양한 실행 파일을 클릭하면 당신의 인생을 보내고 싶어하지 않을 경우, 패키지 탐색기 탭이 놀라 울 도움이된다 그 실행

enter image description here

의 이벤트를 볼 수 있습니다 나는 사람들이 사용하지 않는 것을 발견했다.

여기서 패키지 수준에서 정의한 OnError 이벤트 외에 OnPostExecute 및 OnError 중 하나에 대해 SQL 실행 태스크에 2 개의 이벤트 처리기를 정의한 것을 볼 수 있습니다. 마지막으로

enter image description here

, 작업의 순서에 대한 빠른 노트. 제어 흐름 요소 및 패키지 수준 및 제어 흐름 요소에 OnPostExecute 이벤트에 정의의 OnError 이벤트 핸들러 내 시나리오를 감안할 때 내 SQL 작업 오류 (0으로 나누기)을 제기 실행, 내가 볼 수

  1. "SQL 작업 실행"의의 OnError 이벤트가 발생
  2. "so_EventHandlerRajiv"의 (패키지)의 OnError 이벤트가 발생
  3. "SQL 실행 작업"의 OnPostExecute 이벤트가 발생
그래서

,의 OnError OnPostExecute 전에 실행됩니다 지정된 이벤트 처리기 하나가 실행을 시작하면 pe 모든 청취자에게 연락하십시오.