当我运行 ssis 包时,我收到此错误“无法在 unicode 和非 unicode 字符串数据类型之间转换”,我的源是 Oracle,当我检查输出列数据类型时,它们都是 Unicode 字符串 [DT_WSTR] 和我的目标输入列的 SQL 数据类型为 DT_WSTR 。 我怎样才能进行这种转换?
感谢 friend 们的提前帮助
最佳答案
使用称为数据转换的特定数据流操作(在源和目标之间)。在内部,将每个值从 WSTR 转换为 STR(它们将作为新列添加到流程中)。您必须提供每个字符串的长度。请记住,从 unicode(每个字符 2 个字节)转换为 Windows 代码页 1252(在本例中)(每个字符 1 个字节)之间会丢失数据。
在此示例中,我将名为 NAME
的列转换为名为 NAME (STR)
的新列,新数据类型为 DT_STR
> 其长度为 50。
您必须将新转换的列映射到目标插入框中的表格。
编辑:
这是更改目的地映射的方法:
您可以拖放,或从下面的下拉列表中选择。
关于sql-server - Unicode 和非 Unicode 之间的 SSIS 数据转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49367560/