数据流任务对错误的处理,和控制流不同,在数据流中,主要是对于错误行的处理,一般通过Error Output配置。

1,操作失败的类型:Error(Conversion) 和 Truncation。

2,错误处理方式:Fail Component,Ignore Failure 和 Redirect Row

3,Error Output增加两个跟Error相关的Column:ErrorCode 和 ErrorColumn,这两个Column的数据类型是DT_4

一,错误处理方式

当遇到错误行时,对待错误行的方式有三种:

  • Fail Component:当某一列选择了Fail Component,并且产生了错误时,数据流将停止并失败,同时触发任何针对Data Flow Task的OnError Event。
  • Redirect Row:当任何被标记为Redirect Row的column 中任何一行产生错误,整个行将被发送到红色的错误path输出,但数据流不会失败。如果没有使用红色的Error Path输出,那么,该行将会从数据流中抛弃。
  • Ignore Failure:忽略错误。如果错误发生在源或转换中,那么错误列的值会被设置为NULL;如果是截断错误,那么只会向下游发送部分截断后的值;当错误发生在目的组件上,Ignore Failure的处理方式将会导致目的组件忽略整个行。

这三种处理错误的方式,只有Fail Component 会导致Data Flow 失败,触发OnError Event,并产生错误信息;Redirect Row 和 Ignore Failure 不会导致任何组件失败,因此,SSIS 不会抛出任何错误信息。

二,对Error Row的做 Redirect 处理

有以下数据流设计:

1,配置Data Conversion 组件的Error Output

在Data Comversion 组件,进行一个转换,将字符串类型转换为int 类型,故意使其产生错误,配置错误处理方式是 Redirect Row

2,输出错误代码和错误列

在Advanced Editor中查看组件的错误输出列:ErrorCode 和 ErrorColumn,这两列都是 DT_I4类型,用于输出 ErrorCode 和 发生错误的Column ID。

3,存储Error Output

创建临时表,存储Data Conversion的Error Output

create table dbo.Test_ErrorOutput
(
ID int,
Env nvarchar(11),
ErrorCode int,
ErrorColumn int
)

将Data Conversion的 红色Path(Error Output Path)链接到Error Output Destination。

查看 Error Output path的元数据,共有四列:Source的两个(ID和 Env),ErrorCode 和 ErrorColumn,对于转换失败的Column(copy of env),并没有出现在path中。对于转换失败的新增Column,Error Output不会输出给下游组件。

4,执行Package,查看执行结果

Redirect Row的错误处理方式不会导致Data Flow Task的失败,不会触发OnError 事件,也不会导致其子组件和整个Package的失败。

三,结论

数据流的错误处理方式,使得数据流组件能够自行处理错误,不同的错误处理方式,产生的结果也是不同的:

  • 当设置Failure Component时,表示Data Flow需要触发OnError 事件,抛出错误信息;
  • 当设置Redirect或者ignore,表示Data Flow 不会触发OnError Event,Data Flow 将按照设定的容错逻辑进行处理。

SSIS 数据流的错误输出的更多相关文章

  1. linux标准输入输出及错误输出

    Linux Shell 环境中支持输入输出重定向,用符号"<"和">"来表示. 0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定 ...

  2. 如何将php的错误输出到nginx的error_log中去

    参考文档:http://www.cnblogs.com/glory-jzx/p/3966082.html 通过FastCGI运行的PHP,在用户访问时出现错误,会首先写入到PHP的errorlog中如 ...

  3. shell 标出输入、标准输出、错误输出

    shell中可能经常能看到:>/dev/null  2>&1  eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print ...

  4. python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出

    看了一个博客,挺不错的.http://www.cnblogs.com/turtle-fly/p/3280519.html 标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入( ...

  5. spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二)

    spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二) >>>>>>>>>>>>>>&g ...

  6. spring参数类型异常输出,SpringMvc参数类型转换错误输出

    spring参数类型异常输出, SpringMvc参数类型转换错误输出 >>>>>>>>>>>>>>>> ...

  7. Bash关闭输出(关闭正确、错误输出)

    利用&>重定向,不输出任何内容: echo hello &> /dev/null 关闭正确输出: echo hello 1> /dev/null 关闭错误输出: ec ...

  8. Linux的标准输出、标准错误输出、nohup

    1.在bash中标准输出可以用1来表示:通常来说这个1可以省略: 如./xxx >/dev/null 和 ./xxx 1>/dev/null 是一个意思 2.在bash中标准错误输出可以用 ...

  9. bash shell:重定向标准错误输出

    如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件? Bash提供了I/O重定向工具,有3个缺省的文件(标准输出流): stdin - 用来获取输入,比如键盘.文件重定向 stdout ...

随机推荐

  1. Office 365实现单点登录系列(2)—Azure AD Connect安装与配置

    前言 第一篇文章我已经为大家分享了在在Azure上搭建域控服务器的方法,如果大家本地已经有了域环境,可以直接从这一篇文章开始阅读.Azure AD Connect的前身是DirSync,是专门用于目录 ...

  2. MVC中JavaScript和CSS的自动打包与压缩

    在程序中安装System.Web.Optimization程序集 依赖关系如下图所示: 添加BundleConfiguration类 代码如下所示 注意必须使用对应的ScriptBundle和Styl ...

  3. 如何修改PPT中左下方状态栏的主题名称

    网上有很多很好的PPT,可惜一般作者都加了名字和主题,现在我们就来说说如何修改PPT中左下方状态栏的主题名称. 如下图所示,红色方框内就是别人设置的主题. 网上很多网友都说:点击"视图&qu ...

  4. September 27th 2017 Week 39th Wednesday

    We both look up at the same stars, yet we see such different things. 我们仰望同一片星空,却看见了不同的事物. Looking up ...

  5. Memcahce和Redis比较

    一.Memcache 1.     memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小redis有部份存在硬盘上,这样能保证数据的持久性. 2.      Memcache ...

  6. spring中MessageSource的配置使用方法2--ReloadableResourceBundleMessageSource【转】

    本文转载仅供自己学习收录,不做任何商业用途,如有需要可访问原地址:http://blog.csdn.net/qyf_5445/article/details/8124362 如何在spring mvc ...

  7. BZOJ2729:[HNOI2012]排队(组合数学)

    Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不 ...

  8. 【洛谷】【线段树+位运算】P2574 XOR的艺术

    [题目描述:] AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏.在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1. 拥有一个伤害串为长度为n的01串. 2. 给定一个范围[ ...

  9. 搭建高可用mysql系列(2)-- Percona XtraDB Cluster 安装

    本文主要介绍在 centos 下 Percona XtraDB Cluster(下文简称PXC) 的安装, 个人的系统版本信息如下: [root@c2-d09 worker]# more /etc/r ...

  10. PAT乙级1014

    1014 福尔摩斯的约会 (20 分)   大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d& ...