SSIS:在Unicode和非Unicode字符串之间进行转换

时间:2013-09-27 10:49:36

标签: sql-server sql-server-2005 ssis visual-studio-2005

设置

我有一个数据流任务:

  • OLE DB源选择数据库表(SQL Native)中的所有数据
  • Access 2003文件模板(MS Jet 4.0)的OLE DB目标

所以基本上我选择一个表并将其插入到.mdb文件中。

问题

我有错误:

column [X] cannot convert between unicode and non-unicode string data types

但是,如果我添加一个“数据转换步骤”将DT_STR类型的所有列转换为DT_WSTR,那么该错误消息就会消失,但是我收到错误消息:

[DTS.Pipeline] Error: "component "OLE DB Source" (6289)" failed validation and returned validation status "VS_NEEDSNEWMETADATA". 

我一直在谷歌搜索这个问题一段时间仍然无法解决它。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

而不是

Select * from tblName 

使用

Select col1, col2, col3, etc from tblName

我发现的原因是,当您使用不同的数据库时,它们可能有一列或两列导致问题,因为它没有映射。因此,当您使用表查询时,请具体关于列名。