我有个问题..。在INSERT语句中发生了OLE错误,而不是与外键约束冲突。SSIS包转这三个错误:
[OLE_DEST PollOptionUserResult 43]错误: SSIS错误代码DTS_E_OLEDBERROR。发生了OLE DB错误。错误代码: 0x80004005。OLE DB记录是可用的。来源:"Microsoft SQL Server本机客户端11.0“H结果: 0x80004005描述:”语句已被终止“。OLE DB记录是可用的。来源:"Microsoft 11.0“H结果: 0x80004005描述:”INSERT语句与外键约束"FK_PollOptionUserResult_PollUserResult“冲突。冲突发生在数据库"dw_ismsES”、表"ten.PollUserResult“、列‘PollUserResultID’中。” [OLE_DEST PollOptionUserResult 43]错误: SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。由于发生了错误代码0xC020907B,"OLE_DEST PollOptionUserResult.InputsOLE DB目标输入“失败,而"OLE_DEST PollOptionUserResult.InputsOLE DB目标输入”上的错误行处理指定错误失败。指定组件的指定对象上发生错误。在此之前可能会发布错误消息,并提供有关故障的更多信息。 SSIS.Pipeline错误: SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件"OLE_DEST PollOptionUserResult“(43)上的OLE_DEST方法失败,错误代码0xC0209029在处理输入"OLE DB目标输入”(56)时失败。标识的组件从ProcessInput方法返回一个错误。错误是特定于组件的,但是错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,并提供有关故障的更多信息。
当我尝试将错误重定向到我的error_table时,由于某种原因,它内部会选择最后一个错误,而不是我需要的第一个错误。
我怎么能让它接受第一个错误呢?
发布于 2016-12-14 17:51:46
在我的例子中(SSIS 2008),我在包级别中创建了一个OnError事件,因此包中发生的每一个错误都将被记录下来,不管它们发生在哪里。当我采用这种方法时,所有三个错误都应该记录在我的错误表中。也就是说。

请试试这个方法,看看你得到了什么。
https://stackoverflow.com/questions/41144341
复制相似问题