Unicode和非Unicode错误之间的SSIS数据转换

时间:2018-03-19 16:12:32

标签: sql-server oracle ssis

当我运行ssis包时,我收到此错误“无法在unicode和非unicode字符串数据类型之间进行转换”,我的源代码是Oracle,当我检查输出列数据类型时,它们都是Unicode字符串[DT_WSTR]和我的目的地输入列的SQL数据类型是DT_WSTR。 我该怎么做这个转换?

事先得到朋友的帮助

1 个答案:

答案 0 :(得分:1)

使用称为数据转换的特定数据流操作(源和目标之间)。在里面,将每个值从WSTR转换为STR(它们将作为新的列添加到流中)。您必须提供每个字符串的长度。请记住从unicode(每个字符2个字节)到Windows代码页1252(在本例中)转换之间的数据丢失,即每个聊天室1个字节。

在此示例中,我将名为NAME的列转换为名为NAME (STR)的新列,新数据类型为DT_STR,其长度为50

Transformation example

您必须将新转换的列映射到目标插入框中的表。

编辑:

这是您在目的地中更改地图的方式:

Mapping example

您可以拖放,也可以从下方的下拉列表中选择。