【问题标题】:How to make a Script Component Failure in Data Flow Task?如何使数据流任务中的脚本组件失败?
【发布时间】:2019-05-09 02:18:20
【问题描述】:

我有一个要求是脚本组件中的列验证。如果列值发现为空,则应停止带有红叉标记的任务,然后该任务应为退出。

我使用下面的代码使脚本组件任务失败。但它并没有停止任务,它传递了下一个代码行。

DTSExecResult result;
result = DTSExecResult.DTSER_FAILURE;

【问题讨论】:

    标签: ssis script-component


    【解决方案1】:

    如果您只是强制执行错误并阻止脚本组件进一步执行,您可以按如下方式抛出错误。但是,您需要确保它的定义足够好,以将其与可能发生的任何其他错误区分开来。

    public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        if (Row.Column1_IsNull)
        {
            throw new Exception("Error Message");
        }
    }
    

    【讨论】:

    • 感谢您的建议。目前,我尝试使用 Environment.Exit(0);它工作正常,如果我在 QA 部署时遇到任何问题,我将使用抛出异常
    • @gopi 如果它实现了所需的解决方案,您应该将其标记为答案。
    【解决方案2】:
    Dts.TaskResult = (int)ScriptResults.Failure;
    

    从脚本任务中返回这个

    【讨论】:

    • 我没有要求脚本任务,我需要脚本组件任务
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    相关资源
    最近更新 更多