【发布时间】:2014-07-24 07:47:58
【问题描述】:
我有一个 SSIS 包,它从一台服务器上的 SQL SERVER 2008 TABLE(表 A)获取数据到另一台服务器上的 SQL SERVER 2008 表(表 B),然后转换数据并将其移动到另一个表。
我正在使用数据流任务来执行上述操作。 两个表中的2列,第1列和第2列的数据类型分别是varchar(60)和varchar(50)。
我需要将临时表B表中的数据导入最终表(表C)。上述2列的数据类型是表C中的int类型。我正在转换上述2列导入数据时转换为 int 数据类型,为此我有一个数据流任务,其中 OLEDB 源 有以下查询:
选择 CAST(第 1 列作为整数),第 2 列作为整数) 从表 B
嗨
我有 2 个 SQL 表,即 OLEDB 数据源,一个通过绿色箭头具有正确的行(已成功转换为 int),另一个通过红色箭头具有错误的行(引发错误)。(它被配置为仅在转换错误时重定向行,它在发生截断错误时具有“失败组件”选项)oledb目标表与源表具有相同的结构。
当我运行将数据从源表导入目标表的数据流任务时,出现错误 “强制转换规范的字符值无效”或数据转换错误。 我不希望它抛出错误,而是将错误的行重定向到与目标表具有相同结构的错误表,具有相同结构的源表具有错误号和列名
使用数据转换任务并重定向错误行是否是个好主意,方法是在转换和截断时配置错误输出,或者仅在转换时配置错误输出,或者仅在发生转换错误时强制转换值并重定向行?
【问题讨论】:
标签: ssis