MSSQL通过link导数据至oracle出错:Server: Msg 7399, Level 16, State 1, Line 1

在尝试通过link服务器从SQL Server向Oracle导入数据时,遇到Server: Msg 7399错误,提示OLE DB提供程序内存不足。解决方法是在SQL Server启动参数中添加'-g',调整预留的虚拟地址空间,以缓解内存压力。当SQL Server内存使用异常且进程虚拟地址空间紧张时,这个参数可能有所帮助。不过,不恰当的设置可能导致SQL Server无法启动或运行时错误。只有在收到特定警告信息时,才建议调整-g参数的默认值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原贴地址:http://community.youkuaiyun.com/Expert/topic/3798/3798231.xml?temp=.9782984

在SQLServer中建了一个Link(name=XXLink)把相应数据导入倒Oracle数据库中,具体INSERT语句如下:
INSERT INTO openquery(XXLink,'SELECT col1,col2,col3 FROM TableInOracle')
SELECT col1,col2,col3 FROM TableInSQLServer
WHERE .......

以前一直可以的正常执行的,从近来某一天开始,就不能搞定,报如下错误
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' reported an error. The provider ran out of memory.
[OLE/DB provider returned message: Out of memory.]
OLE DB error trace [OLE/DB Provider 'MSDAORA' IRowsetChange::InsertRow returned 0x8007000e:  The provider ran out of memory.].

开始就重启SQLServer或重启服务器之后都有可能保证正常执行,但是无法根本解决

处理办法:添加启动参数 -g  (例如使用-g384)
联机帮助对-g参数的解释:
以兆字节为单位指定虚拟地址空间大小,S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值