在脚本任务中触发事件

Ano*_*ing 6 c# ssis

我有一个SSIS项目,我正在构建一个基于某些变量的SQL命令.我正在脚本任务中构造命令,并希望将构造的SQL输出到"执行结果"窗口.我试图使用我的脚本内部的FireInformation行执行此操作,如下所示:

Dts.Events.FireInformation(99, "test", "Make this event appear!", "", 0, true);
Run Code Online (Sandbox Code Playgroud)

但是,在脚本编辑器中编辑ScriptMain.cs时,该行以红色下划线,并且在鼠标悬停时,我收到以下消息:

错误:
'Microsoft.SqlServer.Dts.Tasks.ScriptTask.EventsObjectWrapper.FireInformation(int,string,string,string,int,ref bool')的最佳重载方法匹配包含一些无效参数

结果,我的脚本无法编译,我无法执行它.

知道我在这里做错了什么,或者我需要改变什么才能在执行输出中看到我的变量的值?

dtb*_*dtb 20

IDTSComponentEvents.FireInformation的最后一个参数是a ref bool,而不是a bool.

因此,您需要将引用传递给类型的变量bool而不是bool值:

bool fireAgain = true;
Dts.Events.FireInformation(..., ref fireAgain);
Run Code Online (Sandbox Code Playgroud)


Fer*_*ndo 10

你需要ref关键字:

bool b = true;
Dts.Events.FireInformation(99, "test", "Make this event appear!", "", 0, ref b);
Run Code Online (Sandbox Code Playgroud)