在SQL 2012中将存储过程的结果插入临时表(由于每个代码都无法确定元数据)

时间:2016-06-22 16:22:18

标签: sql sql-server sql-server-2012

我很难将存储过程中的结果插入到SQL 2012中的临时表中,我的旧代码在SQL 2008上完美运行,但2012出现了错误。

  

Msg 11529,Level 16,State 1,Procedure sp_describe_first_result_set,   第1行由于每个代码路径都无法确定元数据   导致错误;查看其中一些错误。

     

Msg 4902,Level 16,State 1,Procedure sp_describe_first_result_set,   第1行无法找到对象" #Tethys_ReportGenerator_Tbl"因为它   不存在或您没有权限。

我的存储过程会发出具有动态列的结果集,有时它有10个,有时它有15个。请帮助我解决上述问题。

下面给出了我的旧代码,下面给出了2012年的一些代码:

select a.* into [tempdb].[dbo].[tempBase]
from openrowset('SQLNCLI', 'Server=.;Trusted_Connection=Yes;Integrated Security=SSPI', 'SET NOCOUNT ON;SET FMTONLY OFF ; exec LIQ_TradeBustTrader5895.dbo.price_report @loginID = ''ALL'', @tableName = ''order_msgs'', @firmname = ''ALL'', @AssetClass = ''All'', @OutputBustRecords=0, @ManualOrder=0, @TimeFrom=''0:0'', @TimeTo=''23:59'', @ExcludeSimulatedTrades=0, @SingleTable =1 ') AS a;

2012年

select a.* into [tempdb].[dbo].[tempBase]                           
from sys.dm_exec_describe_first_result_set (N'EXEC LIQ_TradeBustTrader5895.dbo.price_report @loginID = ''ALL'', @tableName = ''order_msgs'', @firmname = ''ALL'', @AssetClass = ''All'', @OutputBustRecords=0, @ManualOrder=0, @TimeFrom=''0:0'', @TimeTo=''23:59'', @ExcludeSimulatedTrades=0, @SingleTable =1', null, 2) AS a;

0 个答案:

没有答案