从存储过程中插入返回记录-SQL

时间:2018-11-12 03:30:39

标签: sql sql-server

下面的脚本返回一个选择记录:

EXEC [LINK_SERV].[DB_SAMPLE].[dbo].[SP_SAMPLE] '1235123'

我想将返回记录插入到临时表中,所以我在下面编写了脚本(假设已经创建了临时表):

INSERT INTO #TempTable
EXEC [LINK_SERV].[DB_SAMPLE].[dbo].[SP_SAMPLE] '1235123'

但是我得到这个错误:

  

链接服务器“ LINK_SERV”的OLE DB提供程序“ SQLNCLI11”返回消息“合作伙伴事务管理器已禁用对远程/网络事务的支持。

     

MSG 7391,第16级,状态2,第25行
  由于链接服务器“ LINK_SERV”的OLE DB提供程序“ SQLNCLI11”无法开始分布式事务,因此无法执行该操作。

请告知具体配置以启用此功能。我在其他服务器上尝试了相同的代码,并且可以正常工作。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

这就是OPENQUERY()的美所在。

即像这样的东西...

INSERT INTO dbo.MyTable2
SELECT Col1, Col2, etc
FROM dbo.MyTable1
  LEFT JOIN OPENQUERY(<<LINKEDSERVER>>,
            'SELECT BLAHBLAH 
             FROM dbo.BLAHBLAH WHERE <something> = <something>);  
相关问题