SSIS无法在unicode和非unicode字符串数据类型之间进行转换

时间:2016-02-15 04:28:00

标签: sql-server postgresql unicode ssis

我是SSIS的新用户,并被要求将数据从Postgres数据库迁移到SQL。没有数据转换要求。但我早早遇到了障碍。

我在我的机器上创建了一个System DSN,用于连接到Postgres数据库的ODBC驱动程序,它连接正常。

在SSIS中,我创建了一个ODBC数据提供程序连接,并使用了我创建的DSN。连接好。然后,我创建一个ADO.Net数据源,并选择我的源数据连接。我选择了我希望此流程从中拉出的表,按下预览,然后我看到了数据。一切都好。

然后我创建一个OLE DB Destionation组件。我不能使用ADO.Net目的地,因为我的某个字段是'GEOMETRIC'类型,而SSIS似乎有问题。 OLE DB允许它。

我将Source连接到Destination,然后打开Destination项。我选择目标表,选择'映射',所有映射都完美。

我关闭了该屏幕,但是在我的目标组件旁边看到一个红叉。

  

“Column”pid“无法在unicode和unicode字符串之间进行转换   数据类型。“

我的数据库中的ALL VARCHAR字段似乎就是这种情况。我是否需要为每个表以及数据库中的每个VARCHAR创建数据转换或其他内容?或者有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

要转换Unicode和非Unicode字符串数据类型,请使用数据转换任务,并为每个有问题的源Unicode添加字符串[DT_STR]