我正在从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
不是真名。
什么可能导致此错误?任何帮助将不胜感激。
由于
答案 0 :(得分:6)
从SQL Server 2012开始,您需要使用WITH RESULT SETS
来明确描述结果集:
EXEC('exec [MyDatabase].[dbo].[StoredProcedure] WITH RESULT SETS (( val SMALLINT));')