在SSIS中将Nvarchar(max)源数据转换为varchar(max)目标

时间:2019-04-03 15:05:04

标签: sql-server unicode types ssis etl

我试图将数据从sql表中的nvarchar(max)列移到SSIS包中另一个sql表的varchar(max)列。它在截断的数据转换转换时总是给我错误。

我有两个数据转换转换:

  1. 一个将Unicode(DT_Ntext)转换为Unicode(DT_WSTR)(4000)
  2. 第二次数据转换转换将Unicode(DT_Wstr)转换为长度为4000的String(dt_str)

1 个答案:

答案 0 :(得分:0)

在OLEDB源代码中,使用SQL命令作为查询中的强制转换列的访问方式:

Select CAST([column] as varchar(max)) FROM Table

在SQL命令中进行强制转换时,无需在数据流任务中使用数据转换转换

如果它不是截断错误

如果CAST()不起作用,则意味着该列包含一些无法转换为非Unicode字符串的Unicode字符,如果您正在使用数据转换转换,则可以通过Error Output处理这些值或者,您可以参考以下链接之一: