SSIS - 即使在 Foreach 循环容器中的内部任务失败后仍继续包流 [英] SSIS - Continue Package Flow even after inner task in a Foreach Loop Container fails

查看:37
本文介绍了SSIS - 即使在 Foreach 循环容器中的内部任务失败后仍继续包流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下图中,为什么 Foreach 循环容器失败尽管(失败的 DFT 的)失败路径被正确处理?

In the figure below, why is the Foreach Loop Container failing despite the fail path (of the DFT that failed) being handled correctly?

如何在处理失败路径后让循环继续?

如果有助于了解包中发生的事情,以下是要点:

If it helps to know what's going on in the package, here's the gist:

我们有一个要求,必须将 Excel 文件中的数据加载到一个数据库.我们的包将每个 Excel 文件拆分为组成的 CSV文件(每张一张 CSV),并将 CSV 加载到数据库中.这是某些工作表可能存在问题(缺少列、数据类型不匹配等),并且这种错误的 CSV 被失败捕获DFT 的路径.理想情况下,包裹必须继续处理其余部分CSV 和其余的 Excel 文件,并成功退出.

We have a requirement where data from Excel files must be loaded into a DB. The package we have splits each Excel file into constituent CSV files (one CSV per sheet), and loads the CSVs into the DB. It is possible that some of the sheets have issues (missing columns, data type mismatch etc), and such erroneous CSVs are captured by the fail path of the DFT. Ideally the package must resume processing the rest of the CSVs, and the rest of the Excel files, and exit successfully.

推荐答案

您是否为该数据流任务定义了任何 OnError 事件处理程序?如果是,您也可以将该错误处理程序范围的系统变量 Propogate(类型布尔值)设置为 'False'.

Do you have any OnError EventHandlers defined for that Data Flow Task? If yes, you could as well set the System Variable, Propogate (type Boolean), for that Error Handler scope to 'False'.

还请通过 优雅地处理 SSIS 包中的任务错误

这篇关于SSIS - 即使在 Foreach 循环容器中的内部任务失败后仍继续包流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆