[英]Execute an Oracle stored procedure from a SQL Server stored procedure
我有一个SQL Server存储过程,需要将信息发送到Oracle存储过程。
我该如何设置? 它应该是链接服务器吗? 如何编写代码来传递和执行存储过程?
你也可以使用:
DECLARE @outputParameter int
EXEC ('BEGIN <procedureName>(?,?); END;', @inputParameter , @outputParameter OUTPUT) at <linkedServerName>
这允许捕获输出参数
Oracle服务器中的过程“TestingProcedure”。
SQL Server中的链接服务器“LinkedServer”。
在SQL server示例中调用TestingProcedure:
EXECUTE ('begin TestingProcedure; end;') AT LinkedServer;
这是我可能从一开始就尝试的语法:
SELECT * FROM OPENQUERY(<linked server name>, '{CALL <oracle sp>}')
我所看到的(我自己没有尝试过)是你也可以使用OPENQUERY
来调用Oracle函数,然后可以调用存储过程,或者你可以将存储过程转换为函数。 您从SQL Server的连接看起来像这样:
SELECT * FROM OPENQUERY(<linked server name>, 'SELECT <oracle function> FROM dual')
结果我最终不得不使用Microsofts CLR并编写我自己的小C#应用程序来处理服务器之间推送的变量。 这是我做的:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.