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

cystudio 2012-02-06 02:20:35

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并执行存储过程,就报错了,怎么办?!
...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cystudio 2012-02-06
  • 打赏
  • 举报
回复
我已经加了上面这两条,直接执行exec storeproduce 是可以的

就是insert into table exec storeproduce 不行...
kingtiy 2012-02-06
  • 打赏
  • 举报
回复
--开户远程事务
USE [master]
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk', @optname=N'rpc out', @optvalue=N'true'
GO

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧