SSIS包错误 - 无法将unicode转换为非unicode

时间:2013-11-25 16:16:14

标签: .net sql-server unicode ssis oracle11g

我是SSIS包开发的新手。几天以来,我遇到了SSIS包的意外问题。

我的SSIS包是使用两个不同的数据库开发的。在Source中,我使用过SQL Server和Oracle,在目标中我使用过Oracle。 SSIS Package在几年后按预期工作,但我的一个客户端将其服务器从32位升级到64位操作系统。

问题在于使用Oracle数据库。早些时候,我使用MSDORA.1连接Oracle数据库但是微软论坛之一,我读到他们还没有推出MSDORA.1。所以我必须使用OraOELDB.Oracle.1驱动程序转换我的SSIS包。一个服务器中的所有内容都按预期工作,但是当我部署在客户端的服务器上时,它会给我以下错误。

<<MY_COLUMN>> cannot convert unicode to non-unicode string data types

我在Oracle数据库表的所有列中都有VARCHAR2数据类型。

1 个答案:

答案 0 :(得分:1)

我在更换司机时也遇到了同样的问题。 Oracle的OLEDB驱动程序将为您提供SSIS中的“DT_WSTR”类型。其他一些驱动程序(例如Attunity)将为您提供相同字段的“DT_STR”类型。

您需要向SSIS包添加一个步骤,将这些字段转换为“DT_STR”数据类型。你需要转换或施放。此主题包含更多信息:SSIS Package: convert between unicode and non-unicode string data types