首页 > 解决方案 > 执行 ssis 包时的数据转换问题

问题描述

执行我的包,我看到以下错误。EMP ID从源(平面文件)是DT_STR(50)并将其加载到表中:

EMP_ID int not null column

使用数据转换任务,我将其转换为四字节有符号整数

但约伯失败了。

说明:将列“EMP ID”(105) 转换为列“EMP ID”(25) 时数据转换失败。转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值。”。结束错误错误:2019-09-16 11:37:28.53
代码:0xC0209029 来源​​:数据流任务 1 数据转换 0 - 0 [2] 描述:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“Data Conversion .Outputs[Data Conversion Output].Columns[EMP ID]”失败,因为发生了错误代码 0xC020907F,并且“Data Conversion 0 - 0.Outputs[Data Conversion Output].Columns[EMP ID] 上的错误行处置" 指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误错误:2019-09-16 11:37:28.53 代码:0xC0047022 来源:数据流任务 SSIS.Pipeline 描述:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。组件上的 ProcessInput 方法“ 处理输入“数据转换输入”(3) 时,数据转换 (2) 失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:上午 11:37:27 结束时间:上午 11:37:28 经过时间:0.797 秒。包执行失败。步骤失败。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:上午 11:37:27 结束时间:上午 11:37:28 经过时间:0.797 秒。包执行失败。步骤失败。在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:上午 11:37:27 结束时间:上午 11:37:28 经过时间:0.797 秒。包执行失败。步骤失败。

标签: sql-serverssisetldata-conversionssis-2012

解决方案


主要错误是:

转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值

看起来源列包含无法转换为整数的值,您可以配置错误输出以将错误行重定向到平面文件目标,以检查导致此错误的值。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述


推荐阅读