SSIS 数据输出列因为字符截断而失败

在数据源组件中,如果存在字符串类型的数据列,那么可能会存在,因为字符类型的长度不匹配,导致字符数据被截断的问题。

SSIS报错信息:“Text was truncated or one or more characters had no match in the target code page.".

第一种scenario是修改Output Columns的Data Type Properties。

打开Advanced Editor,选中Input and Output Properties,在Output Columns中选中要修改的Column,修改Data Type Properties的length,增加长度。

SSIS  数据输出列因为字符截断而失败

第二种scenario,SSIS提供TruncationRowDisposition属性,可以设置RD_IgnoreFailure选项,使数据源对字段过长的数据自动进行截断而不报错。

TruncationRowDisposition,Specifies how the component handles rows with truncations.

SSIS处理数据源中列值的Truncation有三种方式:

RD_FailComponent,如果出现列值Truncation,那么数据源组件就失败;

RD_RedirectRow,如果出现列值Truncation,那么将该数据行重定向到ErrorOutput;

RD_IgnoreFailure,忽略错误,将列值Truncate,并将截断后的数据向下传递,类似于sql语句中的left(ouput_column,length)

SSIS  数据输出列因为字符截断而失败

设置TruncationRowDisposition=RD_IgnoreFailure,类似于在输出列上应用left函数

left( Output_Column_Name, Lenght),Length是在Data Type Properties中设置的Length。

上一篇:CDC和HDC的区别与转换


下一篇:火狐浏览器(FireFox)安装Flash插件失败处理方法