如何在不导入Oracle包的情况下接受JAVA中的REF游标

时间:2020-03-05 18:59:13  来源:igfitidea点击:

我正在使用JDBC编写JAVA程序以实现数据库连通性,正在调用一个存储过程,该存储过程将返回ORACLE REF CURSOR,是否可以在不导入ORACLE PACKAGES的情况下进行处理?

解决方案

回答

我想我试过一阵子并放弃了(我想我们可以弄清楚OracleTypes.REF_CURSOR的int值是什么,然后使用该int值,但这是一个hack)。如果我们有耐心,则可以定义一个记录(或者对象)类型,并将该游标定义为具有类型的游标,因为可以使用表将其强制转换为一个像常规表一样可以选择的值,即

select * from table( sp_returning( ? ) )

我在ref光标和jdbc上做了一个快速的google,看起来它可能是一个oracle扩展,它将解释为什么没有标准的方法来访问数据。

回答

正在做

select * from table( sp_returning( ? ) )

比返回引用游标慢。

我可以将ref游标与C#结合使用,为什么不能使用Java呢?我敢肯定有很多例子。