Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:0xC0202009位于数据流任务,OLE DB目标[43]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21_Ssis_Bids_Ssis 2012 - Fatal编程技术网

错误:0xC0202009位于数据流任务,OLE DB目标[43]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21

错误:0xC0202009位于数据流任务,OLE DB目标[43]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21,ssis,bids,ssis-2012,Ssis,Bids,Ssis 2012,我的源是一个TXT平面文件源,目标是OLE DB类型。(见图) 我找到了一个非常好的方法来创建一个包。我完成了这些步骤,但调试时出现了一个奇怪的错误(如下所示): 有人能解释一下这个错误吗?我花了几个小时在网上搜索错误 SSIS包 “C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx” 启动。信息:0x4004300A at数据流任务,SSIS。管道: 验证阶段已经开始。信息:0x

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

我找到了一个非常好的方法来创建一个包。我完成了这些步骤,但调试时出现了一个奇怪的错误(如下所示):

有人能解释一下这个错误吗?我花了几个小时在网上搜索错误

SSIS包 “C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx” 启动。信息:0x4004300A at数据流任务,SSIS。管道: 验证阶段已经开始。信息:0x4004300A at数据流 任务,SSIS.管道:验证阶段开始。警告: 0x80047076 at数据流任务,SSIS.Pipeline:输出列 在输出“平面文件源输出”(6)和 组件“平面文件源”(2)随后不会在数据中使用 流程任务。删除此未使用的输出列可以增加数据流 任务绩效。信息:0x40043006 at数据流任务, 管道:准备执行阶段开始。资料: 0x40043007位于数据流任务,SSIS。管道:预执行阶段为 开始信息:0x402090DC at数据流任务,平面文件源 :文件“C:\Users\USRNAME\Desktop\ddd.txt”的处理已完成 起动。信息:0x4004300C at数据流任务,SSIS。管道: 执行阶段正在开始。信息:0x402090DE at数据流任务, 平面文件源:为文件处理的数据行总数 “C:\Users\USRNAME\Desktop\ddd.txt”是2。错误:0xC0202009 at数据 流任务,OLE DB目标[43]:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。错误代码:0x80040E21。oledb记录 有空。来源:“Microsoft SQL Server本机客户端11.0” Hresult:0x80040E21说明:“多步骤OLE DB操作 生成的错误。请检查每个OLE DB状态值(如果可用)。否 工作完成了。”。错误:数据流任务处的0xC020901C,OLE DB 目标[43]:OLE DB出现错误 Destination.Input[OLE DB Destination Input]。OLE DB上的[AppID]列 Destination.Inputs[OLE DB目标输入]。列状态 返回的是:“由于潜在的错误,无法转换该值 数据丢失。”。错误:0xC0209029 at数据流任务,OLE DB 目的地[43]:SSIS错误代码 DTS_E_导致的传输故障或错误。“OLE DB” Destination.Inputs[OLE DB Destination Input]”失败,因为出现错误 出现代码0xC0209077,并且“OLE DB”上的错误行处理 Destination.Inputs[OLE DB Destination Input]”指定上的失败 错误。指定对象的指定对象上发生错误 组成部分。在此之前可能会发布错误消息,其中包含更多信息 关于失败的信息。错误:0xC0047022位于数据流任务, 管道:SSIS错误代码DTS_E_PROCESSINPUTFAILED。这个 组件“OLE DB Destination”(43)上的ProcessInput方法失败,错误为 处理输入“OLE DB目标”时出现错误代码0xC0209029 输入“(56)。已标识的组件从返回了一个错误 处理输入法。错误特定于组件,但 错误是致命的,将导致数据流任务停止运行。 在此之前可能会发布错误消息,其中包含更多信息 关于失败。信息:0x40043008 at数据流任务, 管道:后执行阶段正在开始。资料: 0x402090DD at数据流任务,平面文件源:处理 文件“C:\Users\USRNAME\Desktop\ddd.txt”已结束。资料: 0x4004300B at数据流任务,SSIS。管道:“OLE DB目标” 已写入0行。信息:0x40043009 at数据流任务, 管道:清理阶段正在开始。任务失败:数据流任务 警告:0x80019002 at包:SSIS警告代码 已达到DTS_W_最大错误计数。执行方法成功,但是 引发的错误数(4)已达到允许的最大值(1); 导致失败。当错误数达到 MaximumErrorCount中指定的数字。改变 最大错误计数或修复错误。SSIS包 “C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx” 完成:失败

相关的错误消息
OLE DB目的地出现错误。输入[OLE DB目的地输入]。OLE DB目的地上的列[AppID]。输入[OLE DB目的地输入]。返回的列状态为:“由于可能丢失数据,无法转换该值。”

因此发生此错误是因为源中的AppID列值对目标中的AppID列无效

一些可能的例子:

  • 您试图在8个字符的字段中插入10个字符的值
  • 您试图在tinyint字段中插入大于127的值
  • 您正在尝试将值6.4578插入十进制(5,1)字段

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

这通常是由于截断造成的(传入值太大,无法放入目标列)。不幸的是,SSIS不会告诉您有问题的列的名称。我使用第三方组件获取此信息:

如果查询以异常方式失败(例如:子查询在oracle oledb连接中返回多行),也可能从选择组件接收此错误。

在我的情况下,运行包的基础系统帐户被锁定。一旦我们解锁系统帐户并重新运行包,它就会成功执行。开发人员说,他是在调试时知道这一点的,当时他直接尝试连接到服务器并检查连接状态。

错误jet 4 ole