0

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

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

我得到了错误

消息 7357,第 16 层,状态 2,第 1 行

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

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

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

4

1 回答 1

0

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

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

请阅读 Remaks

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

于 2013-03-04T08:37:12.720 回答