Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSIS 2008在执行sql任务出错后被卡住_Ssis - Fatal编程技术网

SSIS 2008在执行sql任务出错后被卡住

SSIS 2008在执行sql任务出错后被卡住,ssis,Ssis,我正在处理这个SSIS包,我故意在执行sql任务上犯了一个错误,以测试失败优先级约束,但它在错误所在的执行sql任务上卡住了。它应该遵循故障优先级,并在遇到错误时执行下一步 基本上,执行sql任务的错误是我截断了一个不存在的表…在现实生活中,这可能是因为一个打字错误 我已经将delayvalidation设置为true,但它仍然不起作用 我如何解决这个问题?谢谢 在优先约束编辑器对话框中(右键单击优先约束并选择“编辑…”),选择“逻辑或。一个约束的计算结果必须为True。” : 逻辑与:所有指

我正在处理这个SSIS包,我故意在执行sql任务上犯了一个错误,以测试失败优先级约束,但它在错误所在的执行sql任务上卡住了。它应该遵循故障优先级,并在遇到错误时执行下一步

基本上,执行sql任务的错误是我截断了一个不存在的表…在现实生活中,这可能是因为一个打字错误

我已经将delayvalidation设置为true,但它仍然不起作用


我如何解决这个问题?谢谢

在优先约束编辑器对话框中(右键单击优先约束并选择“编辑…”),选择“逻辑或。一个约束的计算结果必须为True。”

:

逻辑与:所有指向受约束可执行文件的优先约束必须计算为true才能运行该可执行文件。这是默认选项。如果选中,则箭头为实心箭头

逻辑或:只有一个指向受约束可执行文件的优先约束必须计算为true才能运行该可执行文件。如果选择此选项,则箭头为虚线


我遇到了相同的问题,并通过以下操作解决了该问题:

public void Main() {
    Dts.Variables["User::ErrorCount"].Value = int.Parse(Dts.Variables["User::ErrorCount"].Value.ToString()) + 1;
    Dts.TaskResult = (int)ScriptResults.Success;
}
  • 添加包级别变量,类型为Int的ErrorCount
  • 将OneError事件处理程序添加到执行SQL任务并创建脚本任务

    2.此脚本任务应将ErrorCount变量作为ReadWriteVariable

    2.b在脚本的定义中,您可以执行以下操作:

    public void Main() {
        Dts.Variables["User::ErrorCount"].Value = int.Parse(Dts.Variables["User::ErrorCount"].Value.ToString()) + 1;
        Dts.TaskResult = (int)ScriptResults.Success;
    }
    
  • 然后,在故障优先约束中,您将希望使用以下设置进行设置:

    求值操作:表达式和约束

    值:失败

    表达式:@[User::ErrorCount]>0

    多个约束:逻辑或


  • 希望这有助于

    确保在“优先约束编辑器”对话框中,您选择了“逻辑或。一个约束的计算结果必须为True”。如果已选择此选项,您能否提供约束对话框的屏幕截图?感谢您的回复。我已经在我的帖子上提供了链接。这就是你要问的吗?我和可能的罪犯编辑了我的第一条评论。我特别要求在右键单击优先约束并选择“编辑…”时出现的对话框。嘿@dev_etter,它成功了!我对这个有点陌生。谢谢你的帮助和时间!干杯谢谢,现在我将添加我的评论作为回答,并提供更多细节。