题
我正在使用 JDBC 编写 JAVA 程序以实现数据库连接,我正在调用一个返回 ORACLE REF CURSOR 的存储过程,有什么方法可以在不导入 ORACLE PACKAGES 的情况下处理该问题吗?
解决方案
我想我不久前尝试这样做,但有点放弃了(我想你可以找出 OracleTypes.REF_CURSOR 的 int 值,然后使用该 int 值,但这是一个 hack)。如果您有耐心,您可以定义记录(或对象)类型并将光标定义为带类型的光标,因为可以使用 table 将其转换为像常规表一样可选择的值,即
select * from table( sp_returning( ? ) )
我对 ref Cursor 和 jdbc 进行了快速谷歌搜索,看起来它可能是一个 Oracle 扩展,这可以解释为什么没有标准的方法来访问数据。
其他提示
正在做
select * from table( sp_returning( ? ) )
比返回引用游标慢。
我可以将引用游标与 C# 结合使用,为什么不能与 Java 结合使用呢?我确信有很多例子。
不隶属于 StackOverflow