我有以下问题:
我有一个 SSIS 包,它以在 Oracle DB 上执行的查询开始,我想导出具有 ANSI 1253 代码页的固定宽度平面文件。我收到错误:
The data conversion for column [column_name] returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page"
问题与消息的第二部分有关,因为宽度正常。我尝试使用 Toolbox 中的数据转换,但它不起作用(可能是我没有以正确的方式使用它)。我对数据库只有 select
权限,因此无法添加任何 sql 过程来删除查询中的特殊字符。此外,在我的情况下,将数据加载到临时表的想法并不是最佳选择。有谁知道如何转换我的数据而不出现此错误?
提前非常感谢
最佳答案
使用 Oracle DB 中的源加载数据并保留他们为您提供的数据类型。
添加派生列并转换您的列。
(DT_STR,[Insert Length],1252) [columnName]
如果列是 ntext,您需要执行 2 个步骤才能获取字符串。
(DT_STR...) (DT_WSTR) Ntextcolumn
关于SSIS数据转换(从unicode到ANSI)返回状态值4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52513093/