Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Chamando uma função Oracle do SQL Server Linked Server


Eu usei a seguinte sintaxe e funcionou para mim.
EXECUTE (Query, Parameters) AT LinkedServerName

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

Pontos importantes:
  • Não se esqueça da sintaxe BEGIN e END ao chamar funções
  • Não se esqueça do ponto e vírgula no final "END**;**"
  • Para usar a sintaxe acima, você precisa habilitar o RPC para o servidor vinculado
  • O Oracle não considerará a chamada como uma chamada de função, a menos que você aceite a saída em uma variável