如何解决为什么此SSIS包会引发转换错误?
| 当我运行它时,出现以下错误: 数据流任务[SQL Server中的错误 目标[164]]:列 \“ SepticSystemType \”无法插入 因为类型之间的转换 不支持DT_NTEXT和DT_WSTR。 但是根据此图,强制转换是合法的: http://msdn.microsoft.com/en-us/library/ms141704.aspx 我想念什么吗?解决方法
这是一个可能的选择。您可以使用“数据流任务”中提供的“ 0”任务将输入从一种数据类型转换为另一种数据类型。以下示例显示了如何完成此操作。
分步过程:
创建两个名为
dbo.DataNText
和dbo.DataUnicode
的表,如屏幕截图#1和#2所示。
用一个数据流任务创建一个包。使用OLE DB资源,数据转换任务和OLE DB目标配置数据流任务。请参阅屏幕快照6,以了解如何配置任务。 “ 3”是OLE DB源任务; “ 4”是数据转换转换任务; “ 5”是OLE DB目标任务。
NText配置为从表“ 1”中检索数据。如屏幕截图3所示,完成了列映射。
转换任务的配置如屏幕截图4所示。选择要转换的列,为输出列提供名称。通常将其命名为“ 7”。将数据类型更改为Unicode String [DT_WSTR]
,并提供长度255
。这些值用于此示例,以显示转换配置的完成方式。
Unicode被配置为将数据保存到表“ 2”中。如屏幕截图5所示,完成了列映射。
屏幕快照#6中显示了包执行示例。
两个表的示例数据内容显示在屏幕快照#7中。
也可以使用“ 11”任务来实现。
希望能有所帮助。
屏幕截图1:
屏幕截图2:
屏幕截图3:
屏幕截图4:
屏幕截图5:
屏幕截图6:
屏幕截图7:
, 在该图的正下方,它还表示强制转换为DT_WSTR需要参数。你在跟着吗?
(DT_WSTR,20)将20个字节对或20个Unicode字符转换为DT_WSTR数据类型。
编辑:请参阅Siva \的答案,以获取完成另一项任务的步骤。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。