Calling an Oracle function from SQL Server Linked Server

后端 未结 1 937
囚心锁ツ
囚心锁ツ 2021-01-20 15:09

I have setup a linked server pointing to an Oracle DB. I want to call a function ABC in a package XYZ passing parameter K. What will be the syntax to do this?

1条回答
  •  走了就别回头了
    2021-01-20 15:40

    I used the following syntax and it worked for me.

    EXECUTE (Query, Parameters) AT LinkedServerName
    

    Example:

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

    Important Points:

    • Don't forget the BEGIN and END syntax when calling functions
    • Don't forget the semicolon at the end "END**;**"
    • For using the above syntax you need to enable RPC for the linked server
    • Oracle will not consider the call as a function call unless you accept the output in a variable

    0 讨论(0)
提交回复
热议问题