首页 > 解决方案 > SSIS 任务整数不会从 varchar 列重定向为错误数据

问题描述

在此处输入图像描述

我正在做 SSIS 错误处理。在 excel 文件源中有四列 id,name,department,salary。Id 和 Salary(整数列可以很好地检测 varchar 数据类型并重定向到错误的数据条目)但是名称和部门(varchar 列在好的数据表中考虑整数和字符串这两个值)?

我们希望将整数值从名称和部门列重定向到错误的数据条目

在数据转换转换中,将错误输出选项卡配置为“重定向”所有四行。整数数据类型(Id 和 Salary)工作正常,将 var-char 值扔到坏数据表中,但 Va-char 数据类型列(姓名和部门)不抛出整数值成坏数据表。

在此处输入图像描述

有人可以帮我解决这个问题吗?

在此处输入图像描述

标签: sql-servererror-handlingssisetl

解决方案


打开数据转换转换编辑器,转到Configure Error Output并将错误处理选项设置为Redirect Row

更多信息,您可以参考以下文章:


更新 1

如果您要从 varchar 列中提取数值,则必须使用派生列来检查它是否包含数值并根据结果重定向行:

例子

(DT_I8)[Name] == (DT_I8)[Name] ? NULL(DT_WSTR,50) : [Name] 

错误输出将包含非数值。主要输出将包含数字。


推荐阅读