我有一个存储过程,它包含两个参数。我试图在Server中使用OpenQuery来加入我的存储过程dbo.TwoDrugs的结果集。Server只是一个本地机器,没有其他人可以访问。我想做的是
select *
from OpenQuery (AHCTW208D02,'exec [i 3 sci study].dbo.TwoDrugs ''X'',''Y''')我得到了错误
Msg 7357,第16级,第2状态,第1线 无法处理对象“execI3sci study.dbo.TwoDrugs 'X','Y'”。用于链接服务器"AHCTW208D02“的OLE DB提供程序”AHCTW208D02“表示对象没有列,或者当前用户对该对象没有权限。
我想不出为什么我没有权限(因为我创建了存储过程),并且配置了用于数据访问的服务器。
当我运行存储过程时,它实际上会返回一个结果集。对这可能有什么问题有什么想法吗?
发布于 2013-03-04 08:37:12
OPENQUERY不能用于在链接服务器上执行扩展存储过程。但是,扩展存储过程可以通过使用四部分的名称在链接服务器上执行。例如:
exec AHCTW208D02.[i 3 sci study].dbo.TwoDrugs 'X','Y';请阅读“改造”
参考资料:http://msdn.microsoft.com/en-us/library/ms188427.aspx
https://stackoverflow.com/questions/13880389
复制相似问题