sql >> Base de Datos >  >> RDS >> Oracle

Llamar a una función de Oracle desde el servidor vinculado de SQL Server

Usé la siguiente sintaxis y me funcionó.

EXECUTE (Query, Parameters) AT LinkedServerName

Ejemplo:

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

Puntos importantes:

  • No olvide la sintaxis BEGIN y END al llamar funciones
  • No olvides el punto y coma al final "FIN**;**"
  • Para usar la sintaxis anterior, debe habilitar RPC para el servidor vinculado
  • Oracle no considerará la llamada como una llamada de función a menos que acepte la salida en una variable