调用使用 Microsoft SQL Server 的输出参数的 Oracle 存储过程

Posted

技术标签:

【中文标题】调用使用 Microsoft SQL Server 的输出参数的 Oracle 存储过程【英文标题】:Calling an Oracle stored procedure that uses an output parameter from Microsoft SQL Server 【发布时间】:2012-07-04 15:22:38 【问题描述】:

我正在尝试在 Oracle 10g 服务器上执行一个存储过程,它从 SQL Server 2008 查询以输出参数的形式返回其结果。

Oracle 存储过程声明如下所示:

 PROCEDURE MY_PROC(
     ID IN NUMBER,
     RESULT OUT CURSOR_TYPE);

如何使用 OpenQuery 或任何查询 Oracle 的方法从 MS SQL Server 2008 调用此存储过程,并能够查看存储在“RESULT”中的结果集?

【问题讨论】:

我在想可能有一种方法可以用OPENROWSET 为 SQL 服务器做到这一点,但我不确定 oracle .. 有这个 blog post 可以为你提供方向. 【参考方案1】:

我从 SQL SERVER 到 SQL SERVER 都这样做了,而且效果很好。 也许在 Oracle 中你需要一些 chages。

这是我在 sql server 中的代码

--drop proc proc_test_test 创建过程 proc_test_test (

@一个整数, @b int 输出

) 作为 开始

设置@b = @a*6+4

结束

选择 *

from openrowset('type','服务器名';'user';'pass',

'声明@answer int ;

exec db.dbo.proc_test_test @a = 1, @b = @answer 输出;

选择@answer 作为' )

【讨论】:

以上是关于调用使用 Microsoft SQL Server 的输出参数的 Oracle 存储过程的主要内容,如果未能解决你的问题,请参考以下文章

在 Kitura 中使用 Microsoft SQL Server

sql server 2014怎么装的过程中出错

sql server 查询db中都有哪些地方调用了某个sp

java.sql.SQLException [Microsoft] [ODBC SQL Server Driver] [SQL Server] 对象名“表名”无效

sql 使用主键(Microsoft SQL Server)不正确创建临时表的示例

Microsoft SQL Server 简介