SSIS数据转换(从Unicode到ANSI)返回状态值4

时间:2018-09-26 08:18:11

标签: ssis data-conversion ansi non-unicode

我有以下问题:

我有一个SSIS包,该包以在Oracle DB上执行的查询开头,并且我想使用ANSI 1253代码页导出固定宽度的平面文件。我收到一个错误:

  

列[column_name]的数据转换返回状态值4   和状态文本“文本被截断或一个或多个字符没有   在目标代码页中匹配”

问题与消息的第二部分有关,因为宽度可以。我尝试使用“工具箱”中的“数据转换”,但是没有用(可能我没有以正确的方式使用它)。我对数据库只有select特权,因此我无法添加任何sql过程来删除查询中的特殊字符。在我看来,将数据加载到临时表的想法也不是最佳选择。有没有人知道如何转换我的数据而不出现此错误?

非常感谢

1 个答案:

答案 0 :(得分:2)

使用您的源从Oracle DB加载数据,并保留它们为您提供的数据类型。

添加派生列并强制转换您的列。

(DT_STR,[Insert Length],1252) [columnName]

如果列是ntext,则需要执行2个步骤才能到达字符串。

(DT_STR...) (DT_WSTR) Ntextcolumn