尝试使用OPENQUERY语法通过链接服务器(SQL Server 2005)调用带参数的MySQL(5.0.77)存储过程时遇到问题。
MySQL存储过程返回一个结果集,当我使用'EXEC ... AT ...'语法时,调用工作正常,例如......
EXEC('CALL my_stored_proc(''2009-10-07'',''2009-10-07'');') AT MySQLSERVER;使用'EXEC ... AT ...'的限制意味着我无法将结果集插入SQL Server中的临时表中,这最终是我想要做的。这让我尝试了OPENQUERY语法......
SELECT * FROM OPENQUERY(MySQLSERVER,'CALL my_stored_proc(''2009-10-07'',''2009-10-07'');')......但这失败了,并且返回......
Msg 7357, Level 16, State 2, Line 1
Cannot process the object "CALL my_stored_proc(''2009-10-07'',''2009-10-07'');". The OLE DB provider "MSDASQL" for linked server "MySQLSERVER" indicates that either the object has no columns or the current user does not have permissions on that object.这很奇怪,因为'EXEC ... AT ...'电话没有抱怨