如何解决“调用目标引发运行时错误异常”我是否缺少DLL文件?

时间:2019-03-07 20:53:49

标签: c# sql-server ssis etl script-task

我正在做一些测试,将使用Execute SQL Task的全部结果集从Foreach loop Container输出到脚本任务(显示消息框)中。但遇到DTS Script task:运行时错误。

错误消息框

Error Message Box

我缺少某种DLL文件吗?

脚本

Script

控制流

Control FLow

1 个答案:

答案 0 :(得分:0)

错误消息

  

调用目标已抛出异常

是当脚本代码引发异常时显示的一般错误消息。要阅读主要错误消息,可以在代码中添加try catch子句,然后使用Dts.FireError()方法引发真正的异常。

public void Main()
{
    try{

        string strMessage = Dts.Variables["User::FinalTieOut"].Value.ToString();
        Messagebox.Show(strMessage);
        Dts.TaskResult = (int)ScriptResult.Success;

    }catch(Exception ex){

        Dts.FireError(0,"An error occured", ex.Message,String.Empty, 0);
        Dts.TaskResult = (int)ScriptResult.Failure;

    }


}

变量名称

基于Using Variables in the Script Task - official documentation

  

您将现有变量添加到脚本任务编辑器中的ReadOnlyVariables和ReadWriteVariables列表中,以使它们可用于自定义脚本。 请记住,变量名称区分大小写。在脚本中,您可以通过Dts对象的Variables属性访问两种类型的变量。使用Value属性读取和写入单个变量。脚本任务在脚本读取和修改变量值时透明地管理锁定。

只需将USER::FinalTieOut更改为User::FinalTieOut,即可解决问题。