错误:0xC0202009 在数据流任务,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_OLEDBERROR.发生 OLE DB 错误.错误代码:0x80040E21 [英] Error: 0xC0202009 at Data Flow Task, OLE DB Destination [43]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21

查看:78
本文介绍了错误:0xC0202009 在数据流任务,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_OLEDBERROR.发生 OLE DB 错误.错误代码:0x80040E21的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的源是 TXT 平面文件源,目标是 OLE DB 类型.(见图)

My source is a TXT Flat File Source, the Destination is of type OLE DB. (see image)

我找到了一个非常基础教程在代码项目上创建一个包.我完成了这些步骤,但在调试时出现了一个奇怪的错误(如下):

I found a very basic tutorial on Code Project to create a package. I finished the steps but when debugging I get a strange error(bellow):

有人可以解释这个错误吗?我花了几个小时在网上搜索错误.

Can someone give an explanation to this error? It took me hours to search the web for the error.

SSIS 包"C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx"开始.信息:0x4004300A 在数据流任务,SSIS.Pipeline:验证阶段开始.信息:0x4004300A 在数据流任务,SSIS.Pipeline:验证阶段开始.警告:0x80047076 在数据流任务,SSIS.Pipeline:输出列输出平面文件源输出"(6) 上的intApplication"(7) 和组件平面文件源"(2)随后不会在数据中使用流任务.删除这个未使用的输出列可以增加数据流任务性能.信息:数据流任务中的 0x40043006,SSIS.Pipeline:准备执行阶段开始.信息:0x40043007 在数据流任务,SSIS.Pipeline:预执行阶段是开始.信息:数据流任务中的 0x402090DC,平面文件源2:处理文件C:\Users\USRNAME\Desktop\ddd.txt"有开始了.信息:0x4004300C 在数据流任务,SSIS.Pipeline:执行阶段开始.信息:数据流任务中的 0x402090DE,平面文件源 2:为文件处理的数据行总数"C:\Users\USRNAME\Desktop\ddd.txt" 是 2.错误:0xC0202009 在数据流任务,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_OLEDBERROR.发生 OLE DB 错误.错误代码:0x80040E21.OLE DB 记录可用.来源:Microsoft SQL Server Native Client 11.0"Hresult: 0x80040E21 说明: "多步 OLE DB 操作产生的错误.检查每个 OLE DB 状态值(如果可用).不工作已经完成.".错误:0xC020901C 在数据流任务,OLE DB目标 [43]:OLE DB 出现错误OLE DB 上的 Destination.Inputs[OLE DB Destination Input].Columns[AppID]Destination.Inputs[OLE DB 目标输入].列状态返回的是:由于潜在的原因,该值无法转换数据丢失.".错误:0xC0209029 在数据流任务,OLE DB目标 [43]:SSIS 错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR.OLE DBDestination.Inputs[OLE DB Destination Input]"失败,因为错误发生代码 0xC0209077,并且OLE DB 上的错误行处置"Destination.Inputs[OLE DB Destination Input]"指定失败错误.指定对象的指定对象发生错误成分.在此之前可能会发布更多错误消息有关故障的信息.错误:数据流任务中的 0xC0047022,SSIS.Pipeline:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED.这组件OLE DB 目标"(43) 上的 ProcessInput 方法失败处理输入OLE DB 目标"时出现错误代码 0xC0209029输入"(56).识别的组件从处理输入方法.该错误特定于组件,但错误是致命的,会导致数据流任务停止运行.在此之前可能会发布错误消息并提供更多信息关于失败.信息:数据流任务中的 0x40043008,SSIS.Pipeline:执行后阶段开始.信息:0x402090DD 在数据流任务,平面文件源 2:处理文件C:\Users\USRNAME\Desktop\ddd.txt"已结束.信息:0x4004300B 在数据流任务,SSIS.Pipeline:OLE DB 目标"写了 0 行.信息:数据流任务中的 0x40043009,SSIS.Pipeline:清理阶段开始.任务失败:数据流任务警告:0x80019002 在包:SSIS 警告代码DTS_W_MAXIMUMERRORCOUNTREACHED.Execution 方法成功了,但是引发的错误数 (4) 达到了允许的最大值 (1);导致失败.当错误数量达到时会发生这种情况MaximumErrorCount 中指定的数字.改变MaximumErrorCount 或修复错误.SSIS包"C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx"完成:失败.

SSIS package "C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx" starting. Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning. Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning. Warning: 0x80047076 at Data Flow Task, SSIS.Pipeline: The output column "intApplication" (7) on output "Flat File Source Output" (6) and component "Flat File Source" (2) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance. Information: 0x40043006 at Data Flow Task, SSIS.Pipeline: Prepare for Execute phase is beginning. Information: 0x40043007 at Data Flow Task, SSIS.Pipeline: Pre-Execute phase is beginning. Information: 0x402090DC at Data Flow Task, Flat File Source 2: The processing of file "C:\Users\USRNAME\Desktop\ddd.txt" has started. Information: 0x4004300C at Data Flow Task, SSIS.Pipeline: Execute phase is beginning. Information: 0x402090DE at Data Flow Task, Flat File Source 2: The total number of data rows processed for file "C:\Users\USRNAME\Desktop\ddd.txt" is 2. Error: 0xC0202009 at Data Flow Task, OLE DB Destination [43]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.". Error: 0xC020901C at Data Flow Task, OLE DB Destination [43]: There was an error with OLE DB Destination.Inputs[OLE DB Destination Input].Columns[AppID] on OLE DB Destination.Inputs[OLE DB Destination Input]. The column status returned was: "The value could not be converted because of a potential loss of data.". Error: 0xC0209029 at Data Flow Task, OLE DB Destination [43]: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "OLE DB Destination.Inputs[OLE DB Destination Input]" failed because error code 0xC0209077 occurred, and the error row disposition on "OLE DB Destination.Inputs[OLE DB Destination Input]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure. Error: 0xC0047022 at Data Flow Task, SSIS.Pipeline: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination" (43) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (56). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure. Information: 0x40043008 at Data Flow Task, SSIS.Pipeline: Post Execute phase is beginning. Information: 0x402090DD at Data Flow Task, Flat File Source 2: The processing of file "C:\Users\USRNAME\Desktop\ddd.txt" has ended. Information: 0x4004300B at Data Flow Task, SSIS.Pipeline: "OLE DB Destination" wrote 0 rows. Information: 0x40043009 at Data Flow Task, SSIS.Pipeline: Cleanup phase is beginning. Task failed: Data Flow Task Warning: 0x80019002 at Package: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (4) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors. SSIS package "C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx" finished: Failure.

相关错误信息

OLE DB Destination.Inputs[OLE DB Destination Input].Columns[AppID] 在 OLE DB Destination.Inputs[OLE DB Destination Input] 上出错.返回的列状态为:由于潜在的数据丢失,无法转换该值."

The relevant error message

There was an error with OLE DB Destination.Inputs[OLE DB Destination Input].Columns[AppID] on OLE DB Destination.Inputs[OLE DB Destination Input]. The column status returned was: "The value could not be converted because of a potential loss of data."

推荐答案

之所以出现此错误,是因为源中 AppID 列的值对目标中的 AppID 列无效.

So this error is occurring because you have a value in your source for the AppID column that is not valid for your AppID column in the destination.

一些可能的例子:

  • 您正在尝试将 10 个字符的值插入到 8 个字符的字段中.
  • 您正在尝试将大于 127 的值插入到 tinyint 字段中.
  • 您正在尝试将值 6.4578 插入到小数 (5,1) 字段中.

SSIS 由元数据管理,它希望您正确设置输入和输出,以使两者的可接受值在同一范围内.

SSIS is governed by metadata, and it expects that you've set up your inputs and outputs properly such that the acceptable values for both are within the same range.

这篇关于错误:0xC0202009 在数据流任务,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_OLEDBERROR.发生 OLE DB 错误.错误代码:0x80040E21的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆