Jeg brugte følgende syntaks, og det virkede for mig.
EXECUTE (Query, Parameters) AT LinkedServerName
Eksempel:
EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Vigtige pointer:
- Glem ikke BEGIN- og END-syntaksen, når du kalder funktioner
- Glem ikke semikolon i slutningen "END**;**"
- For at bruge ovenstående syntaks skal du aktivere RPC for den sammenkædede server
- Oracle vil ikke betragte opkaldet som et funktionskald, medmindre du accepterer outputtet i en variabel