无法确定元数据,因为每个代码路径都会导致错误;查看其中一些错误

时间:2016-03-11 23:31:36

标签: sql metadata sql-server-2014 openrowset

我正在从SQL Server 2005迁移到SQL Server 2014,其中一个查询在SQL Server 2014中停止工作:

select * 
from openrowset ('SQLOLEDB','Server=(local);TRUSTED_CONNECTION=YES;',' exec [MyDatabase].[dbo].[MyTable]')

我收到以下错误消息:

  

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,Line 1   找不到对象“#MyTempTable”,因为它不存在或者你   没有权限。

dbo.MyTable#MyTempTable不是真名。

什么可能导致此错误?任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:6)

从SQL Server 2012开始,您需要使用WITH RESULT SETS来明确描述结果集:

EXEC('exec [MyDatabase].[dbo].[StoredProcedure] WITH RESULT SETS (( val SMALLINT));')