[SSIS.Pipeline] 信息: 缓冲区管理器检测到系统的虚拟内存不足,但无法换出任何缓冲区。考虑了 0 个缓冲区,锁定了 0 个缓冲区。或者是因未安装足够的内存或其他进程正在使用内存,以致于没有足够的内存可供该管道使用;或者是锁定了过多的缓冲区。
[OLE DB 目标 [16]] 错误: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x8007000E。
已获得 OLE DB 记录。源:“Microsoft Cursor Engine” Hresult: 0x8007000E 说明:“内存不足。”。
错误: 分配 10479648 个字节时某个缓冲区失败。
错误: 系统报告了百分之 99 的内存负载。物理内存为 2146611200 个字节,其中有 4497408 个可用字节。虚拟内存为 2147352576 个字节,其中有 106655744 个可用字节。分页文件为 6276702208 个字节,其中有 2220109824 个可用字节。
SSIS抽取数据的时候碰到以上四条报错信息,ORACLE数据源抽取到ORACLE目标库,数据源驱动为VS2008自带的 本机OLE DB FOR ORACLE
PLSQL中执行sql都正常,放到SSIS中就各种慢,各种报错,初步分析为执行SSIS的电脑配置问题,网上找了很多修改虚拟内存的资料,然而并没有起作用
最终解决方案:更换驱动程序为ODBC
大概说下步骤:
ORACLE官网下载ORACLE _Client 11g
安装时选择管理员模式
安装完毕 开始——设置——控制面板——管理工具——数据源(ODBC)
配置你的ORACEL信息,完了去VS中选择ODBC驱动,选择自己配置的数据源即可
数据抽取速度比VS自带的驱动快了N倍