使用到了OPENQUERY函数,第一个参数“LOCAL”为链接服务器的名称(建立了一个链接到自己的链接服务器),第二个参数则是需要执行的语句(文本格式)。因为是链接服务器,所以语句中调用的元素请填写完全:[数据库].[dbo].[存储过程]。
SELECT ROW_NUMBER() OVER(ORDER BY id) as PagerAutoRowNumber, *
FROM
OPENQUERY(LOCAL, 'SET FMTONLY OFF; SET NOCOUNT ON; exec [testdb].[dbo].[p_报表]') tab
where 1=1
如例子在exec存储过程前面需要添加了SET FMTONLY OFF; SET NOCOUNT ON;否则会报异常
消息 7357,级别 16,状态 2,第 12 行 无法处理对象 "exec [testdb].[dbo].[p_报表]"。链接服务器 "LOCAL" 的 OLE DB 访问接口 "SQLNCLI10" 指示该对象没有列,或当前用户没有访问该对象的权限。