2017-09-05 82 views
-1

,同时通过我们得到的异常错误碧玉生成报表...java.sql.SQLException:ORA-01000:超过最大打开游标。虽然产生碧玉报告

Error filling print... net.sf.jasperreports.engine.JRException: Error executing SQL statement for : risk 
net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error executing SQL statement for : risk 
    at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:729) 

Caused by: java.sql.SQLException: ORA-01000: maximum open cursors exceeded 

如何解决这个问题?

+0

您可以要求您的DBA帮助确定问题的原因。也许某些应用程序不会关闭连接或使用大型连接池 –

回答

0

Сonnect到数据库并检查OPEN_CURSORS限制:

select value from v$parameter where name='open_cursors' 

因此,我们列出了排名前20位的会话这是目前开放最光标:

select * from (select ss.value, sn.name, ss.sid from v$sesstat ss, v$statname sn where ss.statistic# = sn.statistic# and sn.name like '%opened cursors current%' order by value desc) where rownum < 21; 

解决的办法是增加没有。的open_cursors参数为:

alter system set open_cursors=400 scope=both