终止C#脚本任务中的当前SSIS包,没有异常/错误

本文关键字:异常 错误 SSIS 脚本 任务 终止 | 更新日期: 2023-09-27 18:20:58

我正试图从脚本任务中停止包执行。根据MSDN文章:RunningPackage只有RunningPackage.Stop();应该可以工作,但我得到错误"非静态字段、方法或属性Microsoft.SqlServer.Dts.Runtime.RunningPackage.Stop()需要对象引用"通过这种方式:

    public void Main() 
    {
        RunningPackage.Stop(); // Object reference error.
    }

所以我尝试了以下方法:

    public void Main() 
    {
        RunningPackage package = new RunningPackage();
        package.Stop();       
    }

这样,我就不会将带下划线的代码视为错误,但在保存编辑后的脚本时,SSIS会说"包中包含的脚本有编译错误"using Microsoft.SqlServer.Dts.Runtime;已导入。

怎么了?有没有其他方法可以完全停止C#中的当前包而不出错?

终止C#脚本任务中的当前SSIS包,没有异常/错误

在我的脑海中,我看到了一个控制流,N任务关联,有些是并行的,有些是串行的X事件发生,现在我们需要稍微优雅地停止。

可以在每个可执行文件的Disabled属性上设置一个表达式,该属性绑定到名为PleaseStop的包级布尔变量。默认值为False,但当X发生时,它将变为True,然后使所有内容都处于禁用状态。

这不会阻止飞行中的事物,但会阻止任何新事物的开始。