我有SQL Server 2008与链接的Sybase服务器,我试图使用OPENQUERY在Sybase服务器上执行存储过程。如果我有一个不带参数的存储过程,它会成功。如果我有一个存储过程与参数失败。我甚至尝试过一个非常基本的存储过程,只有一个int仍然失败。下面是我使用的语法:使用OPENQUERY执行存储过程
select * from
OPENQUERY([LINKSERVER],'exec database.user.my_stored_proc ''AT'',''XXXX%'',''1111'',1')
消息7357,级别16,状态2,第3行 无法处理 'AT', 'XXXX%' 的对象“EXEC database.user.my_stored_proc, '1111' ,1" 。链接服务器“LINKSERVER”的OLE DB提供程序“ASEOLEDB”表示该对象没有列或当前用户没有该对象的权限。
由于proc将会在没有参数的情况下执行得很好,我不认为这是一个权限问题。
你尝试直接在Sybase上运行的SQL文本? – Andomar 2010-11-11 21:48:24
是的,在Sybase上执行得很好 – 2010-11-15 14:54:06