System.Data.SqlClient.SqlException: 链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 报错。该怎么解决

System.Data.SqlClient.SqlException: 链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 报错。
SELECT _a.*,_b.*,_c.* from maintable _a 
left join opendatasource('SQLOLEDB','Data Source=192.168.0.3;User ID=username;Password=userpsd').dbname.dbo.detailtable _b on _a.id=_b.fatherid
left join opendatasource('SQLOLEDB','Data Source=192.168.0.3;User ID=username;Password=userpsd').dbname.dbo.detailtable2 _c on _a.cid=_c.cid
left join opendatasource('SQLOLEDB','Data Source=192.168.0.5;User ID=username;Password=userpsd').dbname.dbo.detailtable2 _d on _c.did=_d.did

System.Data.SqlClient.SqlException: 链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 报错。提供程序内存不足。

表_a中的数据小于1万条
表_b 中的数据20万左右
表_c 10万左右
表_d 50万左右

操作系统 
WINDOWS server2008 Enterprise SP2 ,32位操作系统 内存64G
server 2008 SP2
系统运行期间,数据库服务器内存不超过20G
该服务器为数据库服务器,无其他服务应用程序

------解决方案--------------------
你尝试少整点数据再试试,看看是不是内存的问题?
------解决方案--------------------
看看远程查询功能是否开启了。。
------解决方案--------------------
1、远程链接是否正确
2、先用少量数据测试,能够成功,再在生产服务器上调试。

一步一步的来
------解决方案--------------------
应该是链接服务器设置的问题 导致阻塞和死锁