我在SQL Server 2008和BIDS(SSIS)工作。我有一个简单的数据流任务,我将平面文件导入OLE DB目标。在OLE DB目标上,我收到一条错误消息,指出“无法在unicode和非unicode字符串数据类型之间进行转换”。
现在,我知道一种解决方法是在平面文件和OLE DB目标之间进行数据转换。但是,我担心的是为什么这首先发生。在给定平面文件的连接管理器中,所有列都是字符串(DT_STR)数据类型,并且未选中Unicode选项。同样,目标表中的所有列(在检查SSMS中的元数据时)都是varchar数据类型。因此,根本没有nvarchar-to-varchar映射。
为什么SSIS认为我发生了unicode-to-nonunicode映射?并且,有没有比为具有此问题的列插入数据转换步骤更容易解决此问题的方法?
答案 0 :(得分:1)
[因为我似乎不允许对这个问题发表评论,所以我不得不在这里提出我的问题。]
您是否检查了表格,并尝试将数据插入以查看表格中的列是varchar还是nvarchar? SSIS元数据可能与数据库表不同步。