首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

跨服务器远程执行存储过程报 无法启动分布式事务,怎么处理

2012-05-30 
跨服务器远程执行存储过程报 无法启动分布式事务,怎么办用execsp_addlinkedserversrv_lnk , , SQLOL

跨服务器远程执行存储过程报 无法启动分布式事务,怎么办

exec sp_addlinkedserver 'srv_lnk ', ' ', 'SQLOLEDB', '192.168.1.102' 
exec sp_addlinkedsrvlogin 'srv_lnk ', 'false',null, 'sa', 'sa' 
exec sp_serveroption 'srv_lnk', 'rpc out', 'true';
建的远程连接

我要执行远程数库上的存储过程并把返回数据插入一表内
insert into #edi EXEC srv_lnk.[cgtest].[dbo].[sp_po_import] @BATCH_STAMP, 1898,1 
这条语句不写远程,能正常运行,一加srv_lnk就报
"该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。"

直接执行远程数据库的存储过程也没问题,就是用到insert into并执行存储过程,就报错了,怎么办?!

[解决办法]

SQL code
--开户远程事务USE [master]GOEXEC master.dbo.sp_serveroption @server=N'srv_lnk', @optname=N'rpc', @optvalue=N'true'GOEXEC master.dbo.sp_serveroption @server=N'srv_lnk', @optname=N'rpc out', @optvalue=N'true'GO 

热点排行