Oracle: maximum number of cursors

Les Stroud <[email protected]> Fri, 10 Dec 2004 11:44:04 -0500
Newsgroups gmane.comp.java.ejb.middlegen.user
Message-ID <[email protected]>
I saw some posts about this from a few years ago.  However, I ran into 
this problem again.  Interestingly, when I use 2.17 or 2.2 (from cvs) I 
get the oracle too many cursors open (ORA-0100).  However, if I drop 
back to 2.0vo then it works fine.  Here is the ouput/stack trace that I 
get.  For now, I am working around it by using the older version, but I 
figure it is something that should be fixed.  Let me know if there is 
anything that I can do.

LES

----------------------------------------------------------
middlegen:
     [echo] Starting Middlegen
[middlegen] log4j:ERROR Could not find value for key 
log4j.appender.org.apache.torque.engine
[middlegen] log4j:ERROR Could not instantiate appender named 
"org.apache.torque.engine".
[middlegen] 2004-12-09 21:30:04,312 [main] INFO  middlegen.Middlegen - 
Registering plugin simple->middlegen.Plugin
[middlegen] 2004-12-09 21:30:04,312 [main] INFO  middlegen.Middlegen - 
Registering plugin java->middlegen.javax.JavaPlugin
[middlegen] 2004-12-09 21:30:04,328 [main] INFO  middlegen.Middlegen - 
Registering plugin plugin->middlegen.Plugin
[middlegen] 2004-12-09 21:30:04,343 [main] INFO  middlegen.Middlegen - 
Registering plugin adapter->middlegen.plugins.adapter.AdapterPlugin
[middlegen] 2004-12-09 21:30:04,359 [main] INFO  middlegen.Middlegen - 
Registering plugin adapter->middlegen.plugins.adapter.AdapterPlugin
[middlegen] 2004-12-09 21:30:04,390 [main] INFO  middlegen.Middlegen - 
Registering plugin bmp20->middlegen.plugins.entitybean.BMP20Plugin
[middlegen] 2004-12-09 21:30:04,406 [main] INFO  middlegen.Middlegen - 
Registering plugin cmp20->middlegen.plugins.entitybean.CMP20Plugin
[middlegen] 2004-12-09 21:30:04,406 [main] INFO  middlegen.Middlegen - 
Registering plugin bmp20->middlegen.plugins.entitybean.BMP20Plugin
[middlegen] 2004-12-09 21:30:04,406 [main] INFO  middlegen.Middlegen - 
Registering plugin cmp30->middlegen.plugins.entitybean.CMP30Plugin
[middlegen] 2004-12-09 21:30:04,406 [main] INFO  middlegen.Middlegen - 
Registering plugin cmp20->middlegen.plugins.entitybean.CMP20Plugin
[middlegen] 2004-12-09 21:30:04,421 [main] INFO  middlegen.Middlegen - 
Registering plugin hibernate->middlegen.plugins.hibernate.HibernatePlugin
[middlegen] 2004-12-09 21:30:04,437 [main] INFO  middlegen.Middlegen - 
Registering plugin hibernate->middlegen.plugins.hibernate.HibernatePlugin
[middlegen] 2004-12-09 21:30:04,437 [main] INFO  middlegen.Middlegen - 
Registering plugin html->middlegen.plugins.html.HTMLReportPlugin
[middlegen] 2004-12-09 21:30:04,437 [main] INFO  middlegen.Middlegen - 
Registering plugin html->middlegen.plugins.html.HTMLReportPlugin
[middlegen] 2004-12-09 21:30:04,468 [main] INFO  middlegen.Middlegen - 
Registering plugin sunjdo10->middlegen.plugins.jdo.sun.SunJDO10Plugin
[middlegen] 2004-12-09 21:30:04,468 [main] INFO  middlegen.Middlegen - 
Registering plugin sunjdo10->middlegen.plugins.jdo.sun.SunJDO10Plugin
[middlegen] 2004-12-09 21:30:04,468 [main] INFO  middlegen.Middlegen - 
Registering plugin servlet->middlegen.plugins.servlet.ServletPlugin
[middlegen] 2004-12-09 21:30:04,468 [main] INFO  middlegen.Middlegen - 
Registering plugin servlet->middlegen.plugins.servlet.ServletPlugin
[middlegen] 2004-12-09 21:30:04,500 [main] INFO  middlegen.Middlegen - 
Registering plugin struts->middlegen.plugins.struts.StrutsPlugin
[middlegen] 2004-12-09 21:30:04,500 [main] INFO  middlegen.Middlegen - 
Registering plugin jsp->middlegen.plugins.struts.JspPlugin
[middlegen] 2004-12-09 21:30:04,500 [main] INFO  middlegen.Middlegen - 
Registering plugin struts->middlegen.plugins.struts.StrutsPlugin
[middlegen] 2004-12-09 21:30:04,500 [main] INFO  middlegen.Middlegen - 
Registering plugin jsp->middlegen.plugins.struts.JspPlugin
[middlegen] 2004-12-09 21:30:04,515 [main] INFO  middlegen.Middlegen - 
Registering plugin torque->middlegen.plugins.torque.TorquePlugin
[middlegen] 2004-12-09 21:30:04,515 [main] INFO  middlegen.Middlegen - 
Registering plugin torque->middlegen.plugins.torque.TorquePlugin
[middlegen] 2004-12-09 21:30:04,531 [main] INFO  middlegen.Middlegen - 
Registering plugin xmi->middlegen.plugins.xmi.XmiPlugin
[middlegen] 2004-12-09 21:30:04,531 [main] INFO  middlegen.Middlegen - 
Registering plugin xmi->middlegen.plugins.xmi.XmiPlugin
[middlegen] Database URL:jdbc:oracle:thin:@eipapp.barnhardt.local:1521:DEVEL
[middlegen] 2004-12-09 21:30:51,312 [main] WARN  
middlegen.MiddlegenPopulator - WARNING: Middlegen couldn't find any 
relations between any tables. This may be intentional from the design of 
the database, but it may also be because you have
incorrectly defined the relationships. It could also be because the JDBC 
driver you're using doesn't correctly implement DatabaseMetaData. See 
the samples (for an example on how to define relationships) and verify 
that your driver correctly
 implements DatabaseMetaData.
[middlegen] 2004-12-09 21:35:06,906 [main] WARN  
middlegen.MiddlegenPopulator - Couldn't get schemas
[middlegen] java.sql.SQLException: ORA-01000: maximum open cursors exceeded
[middlegen]     at 
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
[middlegen]     at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
[middlegen]     at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:120)
[middlegen]     at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:586)
[middlegen]     at 
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:385)
[middlegen]     at 
oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:772)
[middlegen]     at 
oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:712)
[middlegen]     at 
oracle.jdbc.OracleDatabaseMetaData.getSchemas(OracleDatabaseMetaData.java:2311)
[middlegen]     at 
middlegen.MiddlegenPopulator.getDatabaseStructure(MiddlegenPopulator.java:503)
[middlegen]     at 
middlegen.MiddlegenPopulator.markFksToUnwantedTables(MiddlegenPopulator.java:808)
[middlegen]     at 
middlegen.MiddlegenPopulator.populate(MiddlegenPopulator.java:234)
[middlegen]     at middlegen.MiddlegenTask.execute(MiddlegenTask.java:442)
[middlegen]     at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[middlegen]     at org.apache.tools.ant.Task.perform(Task.java:364)
[middlegen]     at org.apache.tools.ant.Target.execute(Target.java:341)
[middlegen]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
[middlegen]     at 
org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[middlegen]     at 
org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[middlegen]     at org.apache.tools.ant.Main.runBuild(Main.java:673)
[middlegen]     at org.apache.tools.ant.Main.startAnt(Main.java:188)
[middlegen]     at 
org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[middlegen]     at 
org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[middlegen] 2004-12-09 21:35:07,046 [main] WARN  
middlegen.MiddlegenPopulator -Couldn't get catalogs
[middlegen] java.sql.SQLException: ORA-01000: maximum open cursors exceeded
[middlegen]     at 
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
[middlegen]     at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
[middlegen]     at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:120)
[middlegen]     at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:586)
[middlegen]     at 
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:385)
[middlegen]     at 
oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:772)
[middlegen]     at 
oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:712)
[middlegen]     at 
oracle.jdbc.OracleDatabaseMetaData.getCatalogs(OracleDatabaseMetaData.java:2335)
[middlegen]     at 
middlegen.MiddlegenPopulator.getDatabaseStructure(MiddlegenPopulator.java:519)
[middlegen]     at 
middlegen.MiddlegenPopulator.markFksToUnwantedTables(MiddlegenPopulator.java:808)
[middlegen]     at 
middlegen.MiddlegenPopulator.populate(MiddlegenPopulator.java:234)
[middlegen]     at middlegen.MiddlegenTask.execute(MiddlegenTask.java:442)
[middlegen]     at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[middlegen]     at org.apache.tools.ant.Task.perform(Task.java:364)
[middlegen]     at org.apache.tools.ant.Target.execute(Target.java:341)
[middlegen]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
[middlegen]     at 
org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[middlegen]     at 
org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[middlegen]     at org.apache.tools.ant.Main.runBuild(Main.java:673)
[middlegen]     at org.apache.tools.ant.Main.startAnt(Main.java:188)
[middlegen]     at 
org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[middlegen]     at 
org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[middlegen] 2004-12-09 21:35:07,046 [main] ERROR 
middlegen.MiddlegenPopulator -ORA-01000: maximum open cursors exceeded
[middlegen] java.sql.SQLException: ORA-01000: maximum open cursors exceeded
[middlegen]     at 
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
[middlegen]     at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
[middlegen]     at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:120)
[middlegen]     at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:586)
[middlegen]     at 
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:385)
[middlegen]     at 
oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413)
[middlegen]     at 
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119)
[middlegen]     at 
oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92)
[middlegen]     at 
oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950)
[middlegen]     at 
oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802)
[middlegen]     at 
oracle.jdbc.OracleDatabaseMetaData.keys_query(OracleDatabaseMetaData.java:2967)
[middlegen]     at 
oracle.jdbc.OracleDatabaseMetaData.getExportedKeys(OracleDatabaseMetaData.java:3167)
[middlegen]     at 
middlegen.MiddlegenPopulator.markFksToUnwantedTables(MiddlegenPopulator.java:792)
[middlegen]     at 
middlegen.MiddlegenPopulator.populate(MiddlegenPopulator.java:234)
[middlegen]     at middlegen.MiddlegenTask.execute(MiddlegenTask.java:442)
[middlegen]     at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[middlegen]     at org.apache.tools.ant.Task.perform(Task.java:364)
[middlegen]     at org.apache.tools.ant.Target.execute(Target.java:341)
[middlegen]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
[middlegen]     at 
org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[middlegen]     at 
org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[middlegen]     at org.apache.tools.ant.Main.runBuild(Main.java:673)
[middlegen]     at org.apache.tools.ant.Main.startAnt(Main.java:188)
[middlegen]     at 
org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[middlegen]     at 
org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)

BUILD FAILED
C:\Documents and Settings\Les\My 
Documents\Creator\Projects\SalesOrderProcessing
\build.xml:84: middlegen.MiddlegenException: Couldn't get list of tables 
from database. Probably a JDBC driver problem.
Configured schema:GLOVIA710
Configured catalog:GLOVIA710
  ?? Couldn't get schemas ??
  ?? Couldn't get catalogs ??