各位好,我们在应用中需要从一台数据库去访问另一台数据库中表和过程。通过SQLNCLI方式建了链接服务器,正常测试访问都正常,但在执行分布式事务update表时,却报错:
链接服务器"srv_lnk_UNION"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务。"。
消息 7391,级别 16,状态 2,第 3 行
无法执行该操作,因为链接服务器 "srv_lnk_UNION" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。。
但能正常的执行select执行,这个情况如何解决。
以下是链接服务器的SQL
/****** 对象: LinkedServer [srv_lnk_UNION] 脚本日期: 09/25/2010 16:01:48 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'srv_lnk_UNION', @srvproduct=N'10.66.79.140', @provider=N'SQLNCLI', @datasrc=N'10.66.79.140'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'srv_lnk_UNION',@useself=N'False',@locallogin=NULL,@rmtuser=N'union',@rmtpassword='########'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'srv_lnk_UNION', @optname=N'use remote collation', @optvalue=N'true'
rickroot