2

我有以下问题:

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

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

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

非常感谢提前

4

1 回答 1

2

使用 Oracle DB 中的 Source 加载数据并保留它们提供给您的数据类型。

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

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

如果该列是 ntext 您需要执行 2 个步骤来获取字符串。

(DT_STR...) (DT_WSTR) Ntextcolumn
于 2018-09-26T18:02:54.373 回答