我有以下问题:
我有一个SSIS包,该包以在Oracle DB上执行的查询开头,并且我想使用ANSI 1253代码页导出固定宽度的平面文件。我收到一个错误:
列[column_name]的数据转换返回状态值4 和状态文本“文本被截断或一个或多个字符没有 在目标代码页中匹配”
问题与消息的第二部分有关,因为宽度可以。我尝试使用“工具箱”中的“数据转换”,但是没有用(可能我没有以正确的方式使用它)。我对数据库只有select
特权,因此我无法添加任何sql过程来删除查询中的特殊字符。在我看来,将数据加载到临时表的想法也不是最佳选择。有没有人知道如何转换我的数据而不出现此错误?
非常感谢
答案 0 :(得分:2)
使用您的源从Oracle DB加载数据,并保留它们为您提供的数据类型。
添加派生列并强制转换您的列。
(DT_STR,[Insert Length],1252) [columnName]
如果列是ntext,则需要执行2个步骤才能到达字符串。
(DT_STR...) (DT_WSTR) Ntextcolumn