Вызов функции Oracle из SQL Server Linked Server

Я настроил связанный сервер, указывающий на базу данных Oracle. Я хочу вызвать функцию ABC в пакете XYZ, передав параметр K. Какой будет синтаксис для этого?


person Hemanshu Bhojak    schedule 13.08.2009    source источник


Ответы (1)


Я использовал следующий синтаксис, и это сработало для меня.

EXECUTE (Query, Parameters) AT LinkedServerName

Пример:

EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName

Важные точки:

  • Не забывайте синтаксис BEGIN и END при вызове функций
  • Не забудьте поставить точку с запятой в конце "END**;**"
  • Для использования приведенного выше синтаксиса вам необходимо включить RPC для связанного сервера.
  • Oracle не будет рассматривать вызов как вызов функции, если вы не примете вывод в переменной
person Hemanshu Bhojak    schedule 17.08.2009