从平面文件丢失的管道符号抛出SSIS平面文件源中的错误

时间:2018-03-14 07:38:25

标签: sql ssis special-characters extended-ascii derived-column

我有一个平面文件,里面包含一个特殊字符的字符串。此外,SSIS包用于将此平面文件的内容移动到表中。 pacake基本上有3个组件 1.带连接的平面文件 2.派生列 3. OLEDB连接将数据插入表

当我插入时,我收到以下错误

“列的数据转换返回状态值4,状态文本被截断,或者目标代码页中的一个或多个字符不匹配”

列数据类型是派生列

中的DT_STR

特殊字符|导致此问题。重新编号时,此字符被视为2个字符为Ä|。定义的列大小为10,当此字符出现时,它将其分解为11,我们得到上面的错误。

将输出列长度更改为11将解决此问题。当表格列大小为10时,这会在插入表格时中断。

但我觉得这不是一个更好的解决方案,因为将来如果源文件有2个破损的管道符号而不是现在的1个。那个时候再次大小将不得不改变

Screen shot of error thrown in flat file

1 个答案:

答案 0 :(得分:1)

我能够重新创建错误。

我将输出列更改为数据类型:DT_TEXT 在平面文件源中预先编辑。

希望有所帮助