Použil jsem následující syntaxi a fungovalo to pro mě.
EXECUTE (Query, Parameters) AT LinkedServerName
Příklad:
EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Důležité body:
- Při volání funkcí nezapomeňte na syntaxi BEGIN a END
- Nezapomeňte na středník na konci „END**;**“
- Chcete-li použít výše uvedenou syntaxi, musíte pro propojený server povolit RPC
- Oracle nebude považovat volání za volání funkce, pokud nepřijmete výstup v proměnné