Val*_*l K 3 sql metadata openrowset sql-server-2014
我正在从SQL Server 2005迁移到SQL Server 2014,其中一个查询在SQL Server 2014中停止工作:
select *
from openrowset ('SQLOLEDB','Server=(local);TRUSTED_CONNECTION=YES;',' exec [MyDatabase].[dbo].[MyTable]')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
消息11529,级别16,状态1,过程sp_describe_first_result_set,第1行
无法确定元数据,因为每个代码路径都会导致错误; 查看其中一些错误.消息4902,级别16,状态1,过程sp_describe_first_result_set,第1行
无法找到对象"#MyTempTable",因为它不存在或您没有权限.
dbo.MyTable而#MyTempTable不是真实姓名.
什么可能导致此错误?任何帮助,将不胜感激.
谢谢
从SQL Server 2012开始,您需要使用WITH RESULT SETS显式描述结果集:
EXEC('exec [MyDatabase].[dbo].[StoredProcedure] WITH RESULT SETS (( val SMALLINT));')
Run Code Online (Sandbox Code Playgroud)