我正在使用 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 结合使用呢?我确信有很多例子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top