SQL Server OpenQuery失败,存储过程

时间:2012-12-14 14:15:42

标签: sql sql-server sql-server-2008 tsql

我有一个存储过程,它有两个参数。我正在尝试在SQL Server中使用OpenQuery来加入我的存储过程dbo.TwoDrugs的结果集。 SQL Server只是一台本地计算机,没有其他人可以访问。我正在努力

select * 
from OpenQuery (AHCTW208D02,'exec [i 3 sci study].dbo.TwoDrugs ''X'',''Y''')

我收到了错误

  

Msg 7357,Level 16,State 2,Line 1

     

无法处理对象“exec [i 3 sci study] .dbo.TwoDrugs'X','Y'”。链接服务器“AHCTW208D02”的OLE DB提供程序“SQLNCLI10”表示该对象没有列,或者当前用户没有该对象的权限。

我想不出我没有权限的原因(因为我创建了存储过程),并且我配置了服务器以进行数据访问。

当我运行存储过程时,它实际上返回了一个结果集。关于这可能是什么问题的任何想法?

1 个答案:

答案 0 :(得分:0)

OPENQUERY不能用于在链接服务器上执行扩展存储过程。但是,可以使用由四部分组成的名称在链接服务器上执行扩展存储过程。例如:

exec AHCTW208D02.[i 3 sci study].dbo.TwoDrugs 'X','Y';

请阅读Remaks

参考:http://msdn.microsoft.com/en-us/library/ms188427.aspx