Связанный сервер SQL Server вызывает хранимую процедуру Oracle, возвращающую набор результатов

Мне нужен простой пример хранимой процедуры Oracle, которая возвращает набор результатов. Я не нашел, как вернуть набор результатов на SQL Server. Что у меня есть сейчас:

В Оракуле:

CREATE OR REPLACE PROCEDURE sp_sessions (cursorParam OUT SYS_REFCURSOR)
IS
BEGIN
OPEN cursorParam FOR select * from v$session;
END;
/

работает на sql плюс:

variable rc refcursor;
exec OR_WebI_SmartLinkMetrics( :rc );
print rc;

На SQL Server это должно быть примерно так:

SELECT * FROM OPENQUERY(LocalOracle, '{CALL sp_sessions(......)');

Это возможно? Я думал использовать временные таблицы?


person fredy    schedule 06.08.2013    source источник
comment
У меня такая же проблема. Вы нашли решение?   -  person Gutti    schedule 02.10.2013
comment
Без курсора здесь есть пример: ссылка   -  person Gutti    schedule 02.10.2013


Ответы (1)


Согласно http://msdn.microsoft.com/en-us/library/ms188427.aspx нельзя вызывать хранимые процедуры с помощью OPENQUERY, необходимо использовать имя, состоящее из четырех частей, например...

EXEC SeattleSales.master.dbo.xp_msver
person hagensoft    schedule 05.12.2013