【发布时间】:2019-05-09 02:18:20
【问题描述】:
我有一个要求是脚本组件中的列验证。如果列值发现为空,则应停止带有红叉标记的任务,然后该任务应为退出。
我使用下面的代码使脚本组件任务失败。但它并没有停止任务,它传递了下一个代码行。
DTSExecResult result;
result = DTSExecResult.DTSER_FAILURE;
【问题讨论】:
标签: ssis script-component
我有一个要求是脚本组件中的列验证。如果列值发现为空,则应停止带有红叉标记的任务,然后该任务应为退出。
我使用下面的代码使脚本组件任务失败。但它并没有停止任务,它传递了下一个代码行。
DTSExecResult result;
result = DTSExecResult.DTSER_FAILURE;
【问题讨论】:
标签: ssis script-component
如果您只是强制执行错误并阻止脚本组件进一步执行,您可以按如下方式抛出错误。但是,您需要确保它的定义足够好,以将其与可能发生的任何其他错误区分开来。
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.Column1_IsNull)
{
throw new Exception("Error Message");
}
}
【讨论】:
Dts.TaskResult = (int)ScriptResults.Failure;
从脚本任务中返回这个
【讨论】: