我有一个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')的最佳重载方法匹配有一些无效的参数
因此,我的脚本无法编译,我无法执行它。
知道我在这里做错了什么,或者我需要改变什么才能在执行输出中看到我的变量的值?
答案 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);