在脚本任务中触发事件

时间:2010-06-14 13:45:18

标签: c# ssis

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

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

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

  

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

因此,我的脚本无法编译,我无法执行它。

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

2 个答案:

答案 0 :(得分:20)

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

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

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

答案 1 :(得分:10)

您需要ref关键字:

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