SSIS错误在C#脚本中打印变量值

时间:2017-09-22 15:45:52

标签: sql ssis packages etl ssis-2012

我试图创建一个示例,了解如何在SSIS包中的变量中捕获行计数结果,然后使用简单的脚本任务打印该值。

所以,首先,我创建一个变量作为Int32,我将存储行计数结果集,然后我只是通过计数捕获SSIS操作行计数中的值。

enter image description here

然后,在我的脚本任务中,我将变量作为ReadOnly传递。

enter image description here

最后,我在public void方法中键入代码以显示当前变量值。

public void Main()
        {
            // TODO: Add your code here
            string result = null;
            result = (string)Dts.Variables["qty"].Value;
            MessageBox.Show("The current value of the SSIS global variable 'TestVariable' is '" + result);
            Dts.TaskResult = (int)ScriptResults.Success;
        }

问题

在下面的图片中,您将看到我在显示操作中的当前错误,并且我也意识到我当前的变量值为0.看起来像行计数它没有得到正确的值。

enter image description here

所以,伙计们,请你给我一些指导,以便能够满足我的要求。非常感谢

1 个答案:

答案 0 :(得分:0)

SSIS通常不喜欢您在处理过程中执行GUI操作(例如显示MessageBox)。有一些功能可以在进度窗口中显示此信息。看看componentMetaData.FireInformation()。