我有一个要求,那就是在脚本组件中进行列验证。如果发现列值为空,则应使用红色叉号停止任务,然后将该任务作为出口。
我已使用以下代码使脚本组件任务失败。但这并没有停止任务,而是传递了下一行代码。
DTSExecResult result;
result = DTSExecResult.DTSER_FAILURE;
答案 0 :(得分:1)
如果您只是强制执行错误并阻止脚本组件进一步执行操作,则可以按照以下说明抛出错误。但是,您需要确保对它的定义足够好,以区别于可能发生的任何其他错误。
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.Column1_IsNull)
{
throw new Exception("Error Message");
}
}
答案 1 :(得分:0)
Dts.TaskResult = (int)ScriptResults.Failure;
从脚本任务中返回