如何解决“运行时错误调用目标已抛出异常”我错过了一个DLL文件?

问题描述 投票:3回答:1

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

错误消息框

Error Message Box

我错过了某种DLL文件吗?

脚本

Script

控制流

Control FLow

c# sql-server ssis etl script-task
1个回答
0
投票

Error message

调用目标抛出了异常

是脚本代码抛出异常时显示的常规错误消息。要阅读主要错误消息,您可以在代码中添加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;

    }


}

Variables names

基于Using Variables in the Script Task - official documentation

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

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

© www.soinside.com 2019 - 2024. All rights reserved.