java.sql.SQLException:ORA-01000:超出最大打开游标数。同时生成碧玉报告

时间:2017-09-05 06:26:57

标签: oracle jasper-reports

通过jasper生成报告时,我们收到异常错误...

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

如何解决这个问题?

1 个答案:

答案 0 :(得分: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