【发布时间】:2011-05-08 18:01:19
【问题描述】:
我有带有链接 Sybase 服务器的 SQL Server 2008,我正在尝试使用 OPENQUERY 在 Sybase 服务器上执行存储过程。如果我有一个不带参数的存储过程,它会成功。如果我有一个带有参数的存储过程,它会失败。我什至尝试了一个非常基本的存储过程,它只接受了一个仍然失败的 int。以下是我使用的语法:
select * from
OPENQUERY([LINKSERVER],'exec database.user.my_stored_proc ''AT'',''XXXX%'',''1111'',1')
消息 7357,第 16 级,状态 2,第 3 行 无法处理对象“exec database.user.my_stored_proc 'AT','XXXX%','1111',1”。链接服务器“LINKSERVER”的 OLE DB 提供程序“ASEOLEDB”表明该对象没有列或当前用户对该对象没有权限。
由于 proc 在没有参数的情况下可以正常执行,我认为这不是权限问题。
【问题讨论】:
-
您是否尝试直接在 Sybase 上运行 SQL 文本?
-
是的,在 Sybase 上执行得很好
标签: sql sql-server tsql sybase openquery