2015-01-02 61 views
0

我有一个SSIS包,自从我到达目前的位置之前很久就开始运行,并且它突然开始失败。虽然我不是SSIS的专家,但我在SQL中查看了s_s_h_data源的视图,并且看到MTGSIZE字段为INT,而在s_s_h_Data Acess数据库中,数据类型为NUMBER(int)。SSIS错误错误代码:0x00040EDA在成功数月后突然发生

我读过几篇文章,说如果打开软件包,双击并编辑业务开发工作室中的问题节点,它会强制重新读取软件包并“自行修复”这并非我的经验今天。我搜索了几个小时,重新启动了服务器,似乎无法弄清楚问题所在。正在传输的表格大约有2000行,并在第7行之后停止。我查看了表格中的第7和第8条记录,可以看到它们中没有任何异常。由于它通过了​​7行,我怀疑它是连接或安全相关

我一直试图找出这超过6小时,我开始感到沮丧。

有没有任何人可以摆脱指向正确的方向吗?下面是我得到的下降错误。

消息 作为用户执行:domain \ sqlsvc。 Microsoft(R)SQL Server执行包实用程序版本10.50.1600.1(32位)版权所有(C)Microsoft Corporation 2010.保留所有权利。
开始:下午3时05分31秒错误:2015年1月2日15:05:55.20
代码:为0xC0202009
来源:s_s_h_Data OLE DB目标[1361]
说明:SSIS错误代码DTS_E_OLEDBERROR。发生了OLE DB错误。错误代码:0x00040EDA。端错误
错误:2015年1月2日15:05:55.20
代码:0xC020901C
来源:s_s_h_Data OLE DB目标[1361]
说明:没有与输入列 “MTGSIZE”(2036)的误差输入“OLE DB目的地输入”(1374)。返回的列状态是:“由于潜在的数据丢失,无法转换该值。”端错误
错误:2015年1月2日15:05:55.20
代码:0xC0209029
来源:s_s_h_Data OLE DB目标[1361]
描述:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “输入”OLE DB目标输入“(1374)”因错误代码0xC0209077发生而失败,并且“输入”OLE DB目标输入“(1374)”上的错误行配置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,提供有关失败的更多信息。结束错误
错误:2015年1月2日15:05:55.20
代码:0xC0047022
来源:s_s_h_Data SSIS.Pipeline
说明:SSIS错误代码DTS_E_PROCESSINPUTFAILED。处理输入“OLE DB目标输入”(1374)时,组件“OLE DB目标”(1361)上的ProcessInput方法失败,错误代码为0xC0209029。标识的组件从ProcessInput方法返回错误。该错误是特定于组件的,但错误是致命的,并且会导致数据流任务停止运行。在此之前可能会发布错误消息,提供有关失败的更多信息。结束错误
错误:2015-01-02 15:05:55。20
代码:0xC02020C4
来源:s_s_h_Data OLE DB源[1346]
说明:将一行添加到数据流任务缓冲区的尝试失败,错误代码0xC0047020。结束错误
错误:2015年1月2日15:05:55.20
代码:0xC0047038
来源:s_s_h_Data SSIS.Pipeline
说明:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。组件“OLE DB Source”(1346)上的PrimeOutput方法返回错误代码0xC02020C4。当管道引擎调用PrimeOutput()时,组件返回失败代码。失败代码的含义由组件定义,但错误是致命的,并且管道停止执行。在此之前可能会发布错误消息,提供有关失败的更多信息。结束错误

DTExec:程序包执行返回DTSER_FAILURE(1)。
已开始:3:05:31 PM完成:3:05:55 PM
已用时间:23.93秒。
程序包执行失败。
该步骤失败。

增加附加信息

后附加的挖掘,似乎之前在“查看历史”中列出的一个“真正”的错误。如果我打开打包并点击调试,我看到这个错误。

信息:0x4004300A在s_s_h_Data,SSIS.Pipeline:验证阶段开始。 警告:清除时0x0 s_s_h_Data:多步OLE DB操作产生错误。检查每个OLE DB状态值(如果可用)。没有工作完成。 警告:清除时0x0 s_s_h_Data:多步OLE DB操作产生错误。检查每个OLE DB状态值(如果可用)。没有工作完成。 错误:清除s_s_h_Data时出现0xC002F210,执行SQL任务:执行查询“从s_s_h_Data中删除”失败,并出现以下错误:“无法从指定表中删除”。可能的失败原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。 任务失败:清除s_s_h_Data 警告:0x80019002在sData:SSIS警告代码DTS_W_MAXIMUMERRORCOUNTREACHED。执行方法成功,但引发的错误数量(1)达到允许的最大值(1);导致失败。当错误数量达到MaximumErrorCount中指定的数量时会发生这种情况。更改MaximumErrorCount或修复错误。 完成SSIS包“sData.dtsx”:失败。

奇怪,如果我“测试”他们的工作的连接,但如果我尝试在调试时执行SQL任务,我得到上述错误。这个特定的行将删除Access表中的数据,并将其下一步将数据插入到同一个表中。 Access数据库中的表没有特定的权限,即使它看起来可能是许可权。

+0

”在输入“OLE DB Destination Input”(1374)时输入列“MTGSIZE”(2036)出现错误,返回的列状态为:“由于数据可能丢失,无法转换该值。 “ - 太长,或错误的数据类型.... –

+0

我确实看到了这是为什么我确保两个字段INTs。最大的数字是在70K以下,所以我怀疑这是INT vs BIGINT的问题,那么还有什么可能导致类似INT到NUMBER的错误(访问INT)如果是VARCHAR,我会得到它 – Lance

+0

它失败(检查你的SQL代理日志)。在这一天出现哪些数据可能会导致此错误?改变选择查询以选择性地忽略行(使用where子句),直到找到导致错误的行。 –

回答

0

我会指出Access int所允许的值远小于SQL Server int所允许的值;他们更像小int。所以是的,这个错误是完全可能的。 “

+0

谢谢我确实看到了这一点,并且我已将访问数据库更改为“长整数”。请参阅我在问题中发布的附加信息,因为从BIDS/SSIS运行时,我现在得到了一些不同的结果,而不是从运行作业的SQL代理运行时的结果 – Lance

+1

这不提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 –

+1

@Sahuagin它确实回答了提出的原始问题。我知道何时发表评论以及何时回复。 – HLGEM