Sql server SSIS数据转换一直切换回Unicode

Sql server SSIS数据转换一直切换回Unicode,sql-server,unicode,ssis,Sql Server,Unicode,Ssis,在SSIS中,我正在Active Directory中查询域用户列表。结果(根据SSI)的数据类型为“Unicode文本流[DT_NTEXT]” 在将所有字段插入SQL表之前,我使用SSIS工具箱中的数据转换项转换所有字段。我可以进去给每个字段一个输出别名和一个输出“字符串的数据类型[DT_STR]”(我在默认选项窗口和高级属性窗口中尝试过)。我单击“确定”保存设置,但红色的X仍然在那里,表示无法转换为Unicode,如果我重新打开“属性”窗口,所有数据类型都将设置回Unicode 以前有人发生

在SSIS中,我正在Active Directory中查询域用户列表。结果(根据SSI)的数据类型为“Unicode文本流[DT_NTEXT]”

在将所有字段插入SQL表之前,我使用SSIS工具箱中的数据转换项转换所有字段。我可以进去给每个字段一个输出别名和一个输出“字符串的数据类型[DT_STR]”(我在默认选项窗口和高级属性窗口中尝试过)。我单击“确定”保存设置,但红色的X仍然在那里,表示无法转换为Unicode,如果我重新打开“属性”窗口,所有数据类型都将设置回Unicode


以前有人发生过这种事吗

Unicode和非Unicode是不兼容的转换类型。您需要使用派生列转换来添加新列。在表达式中使用数据转换:

(DT_STR, 20, 1252)[MyUnicodeCol]

Unicode和非Unicode是不兼容的转换类型。我们需要使用数据转换将该特定列从DT_NTEXT转换为DT_WSTR,然后再次将其从DT_WSTR转换为DT_STR


能否在“高级编辑器”>“输出”列中将DT_NTEXT改为DT_WSTR,而不是DT_STR如果将DT_NTEXT改为DT_TEXT,然后将DT_TEXT改为DT_STR,是否仍存在相同的问题。所以我很好奇它怎么会对你不起作用这会起作用-但是我必须为每个列创建一个派生列元素吗?是的。虽然那很笨重。我建议将数据加载到一个临时表中,并在SQL下游将其转换。