我收到此描述的错误。
错误:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。
组件“OLE DB Source”(1) 上的 PrimeOutput 方法返回错误代码 0xC02020C4。
当管道引擎调用 PrimeOutput() 时,组件返回失败代码。
失败代码的含义由组件定义,但错误是致命的,管道停止执行。
在此之前可能会发布错误消息,其中包含有关失败的更多信息。
我相信相关的错误消息是“尝试向数据流任务缓冲区添加行失败,错误代码为 0x{%errCode2}。”,这应该出现在之前的日志消息中。当然,然后您将需要获取 %errCode2,并将其转换为一条应该比日志消息中的错误消息更早的错误消息。这可能会倒退。
最简单的方法是打开所有日志记录,运行到失败并向后检查日志,直到找到原始生成的异常。
此错误可能意味着您一次为缓冲区加载了太多行。在数据流任务的属性中,请尝试增加 DeafultBufferMaxRows 的数量。这为我解决了这个错误。
在我的例子中,这是一个误导性错误,它是由目标故障引起的(多个)源故障。我修复/删除了一个失败的目标,所有源错误都消失了。 这是一本 14 个选项卡的 Excel 书,我将其作为源,其中一个目标存在类型错误,但它显示大约 8 个源失败,每次运行传输的行数不同。