3

在我的数据流任务 (DFT) 中,我有 OLE DB Source 和 Destination。在连接管理器中,我的连接也是 OLE DB。源正在提取 80000 条记录并在 Desti 中加载。简单的包装。

我的包在 OLE DB 源上中断。需要注意的一点是:它可以很好地加载 53769 条记录。但最后它在 OLE DB 源上中断。

错误:

[OLE DB 源 [235]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“TDS 流中的协议错误”。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“通信链路故障”。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“共享内存提供程序:管道的另一端没有进程。

[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。OLE DB 源上的 PrimeOutput 方法返回错误代码 0xC0202009。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。

谁能帮我解决这个错误?这是我的生产环境。

4

2 回答 2

0

通讯链路故障

共享内存提供程序:管道的另一端没有进程

上面的错误消息暗示服务器之间可能存在一些网络问题或机器资源(尤其是 RAM)无法处理数据。

您可以尝试更改调整数据流任务缓冲区的大小

或者您可以尝试分块加载数据,您可以参考以下文章的分步指南:

于 2020-02-25T20:19:02.993 回答
0

我修复了它,将提供程序从 SQL Server Native Client 更改为 Microsoft OLEDB Provider for SQL Server - 它就像一个魅力。

于 2021-01-25T09:11:41.953 回答