将所有非unicode字段批量转换为SSIS中的unicode

时间:2014-03-13 18:15:10

标签: sql-server unicode ssis

我有很多表,我正在使用SSIS将数据从Oracle引入SQL Server,在此过程中我想将所有varchar字段转换为nvarchar。我知道我可以使用数据转换变换器,但似乎唯一的方法是逐个设置每个字段,然后我必须手动设置目标组件中的映射以映射到“副本”字段。我有数千个字段,将它设置在每个字段上会很繁琐......有没有办法说“如果字段是DT_STR转换为DT_WSTR”?

2 个答案:

答案 0 :(得分:0)

正确的方法是使用数据转换步骤...

也就是说,如果您在SSIS中禁用外部元数据验证,则可以绕过此错误。然后,SQL将使用隐式转换为目标类型。

有关快速解释,请参阅this SO post

答案 1 :(得分:0)

您可以做的是,不是在运行脚本之前手动用nvarchar替换varchar,而是将SSIS生成的所有create table脚本保存到文档中。然后,您可以在文档中执行全局替换nvarchar x varchar。 然后使用修改后的脚本作为SSIS包中的一个步骤来创建表,然后再使用Oracle中的数据填充它们。