我有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