2010-06-14 8 views
5

일부 변수를 기반으로 SQL 명령을 생성하는 SSIS 프로젝트가 있습니다. 스크립트 태스크에서 명령을 생성하고 '실행 결과'창에 생성 된 SQL을 출력하려고합니다. 다음과 같이 내 스크립트 내부에서 FireInformation 줄을 사용하여이 작업을 수행하려고 :스크립트 작업의 이벤트 발생

Dts.Events.FireInformation(99, "test", "Make this event appear!", "", 0, true); 

을 그러나 ScriptMain.cs을 편집 할 때 스크립트 편집기에서, 그 선은 빨간색으로 밑줄 및 마우스 오버에, 나는를 얻을 수 다음 메시지 :

Error:
The best overloaded method match for 'Microsoft.SqlServer.Dts.Tasks.ScriptTask.EventsObjectWrapper.FireInformation(int, string, string, string, int, ref bool') has some invalid arguments

결과적으로 내 스크립트가 컴파일되지 않아 실행할 수 없습니다.

내가 여기서 잘못하고있는 것, 또는 실행 결과에 내 변수의 값을 볼 수 있도록 변경해야 할 사항이 있습니까?

+0

Upvoted을 실현하기 :

bool fireAgain = true; Dts.Events.FireInformation(..., ref fireAgain); 

답변

18

IDTSComponentEvents.FireInformation의 마지막 매개 변수는 이며 bool이 아닙니다.

그래서 당신은 bool 값 대신 유형 bool의 변수에 대한 참조를 전달해야합니다 :이 질문은 나에게 도움이 때문에

bool b = true; 
Dts.Events.FireInformation(99, "test", "Make this event appear!", "", 0, ref b); 
8

당신은 ref 키워드를 필요 Dts.events.FireInformation은 Windows 이벤트 로그를 업데이트하지 않습니다.