Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何关闭PL/SQL数据库中java类打开的游标?_Java_Oracle_Plsql_Jpa 2.0_Cursors - Fatal编程技术网

如何关闭PL/SQL数据库中java类打开的游标?

如何关闭PL/SQL数据库中java类打开的游标?,java,oracle,plsql,jpa-2.0,cursors,Java,Oracle,Plsql,Jpa 2.0,Cursors,我有一个例子,我从PL/SQL包调用java源代码,在java源代码中,我将数据插入数据库表。通过这个插入操作,每次我打电话时都会打开一个光标 我无法更改此java源代码,因此无法关闭那里的结果集 因此,我想在包中编写一些PL/SQL代码,以便在每次调用java源代码和插入数据后关闭游标 我怎样才能做到?我不想增加最大打开游标限制。如果使用preparestatement执行sql,则可以创建不同的对象来保留数据,然后可以关闭语句来关闭游标 在将数据传输到另一个对象之前,不要关闭语句,否则会出现

我有一个例子,我从PL/SQL包调用java源代码,在java源代码中,我将数据插入数据库表。通过这个插入操作,每次我打电话时都会打开一个光标

我无法更改此java源代码,因此无法关闭那里的结果集

因此,我想在包中编写一些PL/SQL代码,以便在每次调用java源代码和插入数据后关闭游标


我怎样才能做到?我不想增加最大打开游标限制。

如果使用preparestatement执行sql,则可以创建不同的对象来保留数据,然后可以关闭语句来关闭游标


在将数据传输到另一个对象之前,不要关闭语句,否则会出现关闭语句错误。

为什么Java代码不能在自身清理之后进行清理,为什么不能修复?Java代码由其他团队管理和修改,他们最近实现了JPA,早些时候是Toplink。我猜这些更改限制了它清理自身。如果你调用的例程返回一个游标,你可以编写另一个Java函数来调用现有的Java函数,然后在完成时关闭游标。如果保持打开状态的游标在您调用的例程之外不可用,则其他团队需要修复此资源泄漏。祝你好运。