如遇到CALL 遠端(LINK DB)的SP,收其產生的結果集,出現以下錯誤訊息

SAMPLE CODE:

 
IF OBJECT_ID (N'tempdb..#REL', N'U') IS NOT NULL
    DROP TABLE #REL

create table #REL
(
COL1 varchar(50) NOT NULL
,COL2 varchar(50) NULL  
)

insert into #REL
exec [1.2.3.4].XXDB.dbo.[SP_QryRM] 


解法1:

【Windows】啟用 MSDTC 服務與相關設定https://dotblogs.com.tw/echo/2017/08/24/windows_msdtc_setting

需要開很多PORT,調系統設定及重開機,超麻煩的。


解法2:

設定LINK DB,啟用RPC的分散式交易促銷設為FALSE


解法3:

OPENROWSET,可是在SQL 2016可能會有問題?

IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
    DROP TABLE #tmp
GO
CREATE TABLE #tmp (
    APPLY_HOUSE_SEQNO varchar(30),
    APPNO varchar(30)
    )

INSERT INTO #tmp           
SELECT *
FROM OPENROWSET('SQLOLEDB','1.2.3.4,1433';'ID';'PWD','SET FMTONLY OFF; EXEC XXDB.dbo.SP_ONLINE_888')

select * from #tmp