终止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#中的当前包而不出错?
在我的脑海中,我看到了一个控制流,N任务关联,有些是并行的,有些是串行的X事件发生,现在我们需要稍微优雅地停止。
可以在每个可执行文件的Disabled
属性上设置一个表达式,该属性绑定到名为PleaseStop
的包级布尔变量。默认值为False,但当X发生时,它将变为True,然后使所有内容都处于禁用状态。
这不会阻止飞行中的事物,但会阻止任何新事物的开始。