Ik gebruikte de volgende syntaxis en het werkte voor mij.
EXECUTE (Query, Parameters) AT LinkedServerName
Voorbeeld:
EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Belangrijke punten:
- Vergeet de BEGIN- en END-syntaxis niet bij het aanroepen van functies
- Vergeet de puntkomma aan het einde "END**;**" niet
- Voor het gebruik van de bovenstaande syntaxis moet u RPC inschakelen voor de gekoppelde server
- Oracle beschouwt de aanroep niet als een functieaanroep, tenzij u de uitvoer in een variabele accepteert