首页 > 解决方案 > 在 SQL Server 2014 中使用 openrowset

问题描述

我有以下 SQL 语句,用于将存储过程中的数据获取到临时表中

 SET @sql = N'SELECT * INTO #CustomTable3HTML      
             FROM
                 OPENROWSET(''SQLNCLI'',''Server='+ @@SERVERNAME +';UID='+@UserName+';PWD='+@Password+';Database=SalesDeals'',
      ''SET NOCOUNT ON;SET FMTONLY OFF;EXEC  dbo.prGetDealProposalDetail ''''' + @DealID + ''''',''''' + @FeeType +''''''')
     '     
EXEC sp_executesql @sql

这在 SQL Server 2008 中运行良好,但在服务器升级到 SQL Server 2014 后,我开始收到此错误:

无法确定元数据,因为过程 'prGetDealProposalDetail' 中的语句 'Insert #TempDetail exec prExcelCalculations_GetPricingSummary @Dealno,'FSA'' 使用临时表。

这是因为我在 Openrowset 中调用的存储过程调用了另一个过程并使用了临时表。这些列是动态的。

有人可以让我知道我能做些什么来解决它吗?

标签: sqlsql-serversql-server-2014openrowset

解决方案


推荐阅读