调用使用 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
java.sql.SQLException [Microsoft] [ODBC SQL Server Driver] [SQL Server] 对象名“表名”无效