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