Oracle
 sql >> Database >  >> RDS >> Oracle

Chiamata di una funzione Oracle da SQL Server Linked Server

Ho usato la seguente sintassi e ha funzionato per me.

EXECUTE (Query, Parameters) AT LinkedServerName

Esempio:

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

Punti importanti:

  • Non dimenticare la sintassi BEGIN e END quando chiami le funzioni
  • Non dimenticare il punto e virgola alla fine "END**;**"
  • Per utilizzare la sintassi sopra è necessario abilitare RPC per il server collegato
  • Oracle non considererà la chiamata come una chiamata di funzione a meno che tu non accetti l'output in una variabile