J'ai utilisé la syntaxe suivante et cela a fonctionné pour moi.
EXECUTE (Query, Parameters) AT LinkedServerName
Exemple :
EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Remarques importantes :
- N'oubliez pas la syntaxe BEGIN et END lors de l'appel de fonctions
- N'oubliez pas le point-virgule à la fin "END**;**"
- Pour utiliser la syntaxe ci-dessus, vous devez activer RPC pour le serveur lié
- Oracle ne considérera pas l'appel comme un appel de fonction à moins que vous n'acceptiez la sortie dans une variable