从SQL Server链接服务器调用Oracle函数

Hem*_*jak 3 sql-server oracle linked-server

我已经设置了一个指向Oracle DB的链接服务器.我想在包XYZ传递参数K中调用函数ABC.这样做的语法是什么?

Hem*_*jak 10

我使用了以下语法,它对我有用.

EXECUTE (Query, Parameters) AT LinkedServerName
Run Code Online (Sandbox Code Playgroud)

例:

EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Run Code Online (Sandbox Code Playgroud)

重点:

  • 调用函数时不要忘记BEGIN和END语法
  • 不要忘记末尾的分号"END**;**"
  • 要使用上述语法,您需要为链接服务器启用RPC
  • 除非您接受变量中的输出,否则Oracle不会将该调用视为函数调用