0

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

当我插入时,我遇到了错误

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

列数据类型为派生列中的 DT_STR

特殊字符 ¦ 导致了这个问题。此字符在租用时被视为 Ħ 的 2 个字符。定义的列大小是 10,当这个字符出现时,它将它打破为 11,我们得到上面的错误。

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

但是我觉得这不是一个更好的解决方法,因为如果源文件有 2 个损坏的管道符号而不是现在的 1 个,那么将来必须再次更改大小

平面文件中引发的错误的屏幕截图

4

1 回答 1

1

我能够重新创建错误。

我在平面文件源中的高级编辑器下将输出列更改为数据类型:DT_TEXT。

希望能帮助到你

于 2018-03-14T08:17:22.253 回答