回答

收藏

插入表..链接服务器上的exec不起作用

技术问答 技术问答 263 人阅读 | 0 人回复 | 2023-09-12

这有效,返回结果集:, n# e2 i1 z% l
exec ('select ''col'',count(1) from test.dbo.[Table1] with (nolock)') at svrA当我试图将结果集插入表中时:2 g+ m3 O) S/ F; g+ b: ^0 w
insert into rowcount_sub (tablename,rowcnt)exec ('select ''col'',count(1) from test.dbo.[Table1] with (nolock)') at svrA不能给出这个错误:% e* H: Y( z' Z) O" O7 }9 X0 H
OLE DB provider "SQLNCLI10" for linked server "svrA" returned message "No transaction is active.".Msg 7391,Level 16,State 2,Line 1The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "svrA" was unable to begin a distributed transaction.               
# p+ d. x# a  Z7 C! i! V& U3 h' d    解决方案:                                                                3 P' g5 c  {# L/ E
                                                                因为链接服务器 svrA”的OLE DB 提供程序SQLNCLI不能开始分布式事务,因此不能执行此操作。: ^3 b0 q7 `0 z1 ]! C3 V: q
这个消息非常清楚所要做的就是打开系统文档,然后按照分布式事务的步骤操作:配置MS. a0 L, t- Z  e/ G& {/ b; G
DTC服务。; i; }  w6 ]8 S- a* d. F
博客和教程也很多:
- X% j* B8 B9 @如何在Windows 2003上配置DTC
! [3 P# D) e) z如何在Windows 2008上配置DTC
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则