当我在“ Oracle SQL Developer”的服务器上运行以下代码时,它将正确运行并将表数据转储至输出:
declare
rc sys_refcursor;
begin
open rc for select * from LOCATION where rownum < 10;
dbms_sql.return_result(rc);
end;
但是当我在客户端的“ PL / SQL Developer”中运行相同的代码时,会出现以下错误:
ORA-29481:隐式结果无法返回给客户端。 ORA-06512: 在“ SYS.DBMS_SQL”行2832 ORA-06512:在“ SYS.DBMS_SQL”行2826 ORA-06512:在第5行
查看错误堆栈的程序源吗?
我知道这是由于客户端上的OJDBC驱动程序,所以我在客户端上安装了最新的OJDBC驱动程序(12c),但仍然收到该错误消息。
“ PL / SQL Developer”似乎仍然使用旧的OJDBC驱动程序。
我经历了所有的“ PL / SQL Developer”设置,看不到与此相关的任何内容。另外,也无法在连接或TNS定义中对其进行定义。
您是否知道如何告诉“ PL SQL开发人员”使用JDBC驱动程序版本12c?
答案 0 :(得分:0)
如果您在谈论allroundautomations PL / SQL Developer,那么它与jdbc无关,因为论坛代表: http://forums.allroundautomations.com/ubb/ubbthreads.php?ubb=showflat&Number=53031
但是,您也许可以在“首选项”->“连接”->“ OCI库”中选择其他OCI库。
您的代码至少与带有oracle 12 oci.dll的PL / Sql Developer 10一起使用。 该选项从版本8起可用
此屏幕来自Pl / Sql Developer 12演示,带有12.1 oci.dll和oracle 12.2 db。我认为隐式声明结果可从12.1获得。