Ich habe die folgende Syntax verwendet und sie hat bei mir funktioniert.
EXECUTE (Query, Parameters) AT LinkedServerName
Beispiel:
EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Wichtige Punkte:
- Vergessen Sie beim Aufrufen von Funktionen nicht die BEGIN- und END-Syntax
- Vergessen Sie nicht das Semikolon am Ende "END**;**"
- Um die obige Syntax zu verwenden, müssen Sie RPC für den Verbindungsserver aktivieren
- Oracle betrachtet den Aufruf nicht als Funktionsaufruf, es sei denn, Sie akzeptieren die Ausgabe in einer Variablen