我尝试执行存储过程并将其结果简单地插入到临时表中,并且收到以下消息:
无法执行该操作,因为 OLE DB 提供程序“SQLNCLI”
对于链接服务器“MyServerName”无法开始分布式
交易。用于链接服务器的 OLE DB 提供程序“SQLNCLI”
“MyServerName”返回消息“没有活动的事务。”。
我的查询如下所示:
INSERT INTO #TABLE
EXEC MyServerName.MyDatabase.dbo.MyStoredProcedure Param1, Param2, Param3
确切的列号、名称,问题不是结果。
MSDTC 在两台计算机上都被允许并启动,远程过程调用也是如此。
这些机器不在同一域中,但我可以从我的机器执行远程查询并获取结果。我什至可以执行存储过程并查看其结果,只是无法将其插入另一个表中。
EDIT
哦,我忘了提及,存储过程不会触发任何触发器。它仅将记录插入到它自己创建的用于数据处理的临时表中。
好吧,在学习了大量教程并进行了大量研究之后,我更改了我认为它工作所需的所有配置,但仍然没有。
今天,由于不间断故障,我们不得不强制重新启动开发服务器的电源,当我们启动服务器时,你猜怎么着?有用!
因此,仅作为记录,我更改了一些特定的 MSDTC 配置,将其添加为链接服务器并允许 RPC IN 和 OUT,并将 RPC 配置更改为“无需身份验证”或类似内容。
我记得在某处读到,更改此配置后,需要重新启动,即使 Windows 说它已经重新启动了该服务。
自从我改变它以来,我已经重新启动了我的服务器两次,但它仍然不起作用。但就像今天一样,完全关闭并打开后,它就可以工作了!
至于语法,我保持不变。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)