Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Aufrufen einer Oracle-Funktion von SQL Server Linked Server

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