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

标签 ssis data-conversion ansi non-unicode

我有以下问题:

我有一个 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/

相关文章:

ssis - 通过传递参数从 SQL 作业运行 SSIS

PHP strtr 与 str_replace 基准测试

sql-server - 有没有办法以编程方式轻松更改多个 SSIS 包上的服务器名称?

C# 检查对象是否为空

c# - 如何在 Splunk 中转换带小数秒的时间跨度字符串(例如 HH :MM:SS. ff..)以用于制图?

r - 如何将 R 数据框中的行转换为列?

c - 写入 C 文件的逻辑错误

c - 从 ANSI C 代码获取控制流图

sql-server - 从原始数据创建 n 个新行,例如 (1000....1000+n)

python 相关单词搜索并替换为列表单词