如何在不导入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呢?我敢肯定有很多例子。