• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

maximum open cursor exceeded in java batch

 
Ganesan Ramakrishnan
Ranch Hand
Posts: 91
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

I have an issue when run the java batch, it return maximum cursor exceeded error.

here is the flow of code,

1.Created static connection
2.call the query in main method with this connection
3.The query return more than 1000 rows, but cursor maximum size is 1000.(i do not want to increase the cursor size)
4. i close the connection after each row performed some task.
5. But its not take any affect since the connection variable is static.

Could anyone suggest to correct this issue

Regards
Ganesh

 
Martin Vajsar
Sheriff
Posts: 3752
62
Chrome Netbeans IDE Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Don't know what database you're on, but generally the maximum open cursor limit does not limit number of rows you can read from a database. Instead, it limits number of statements that can be simultaneously processed.

Your point 4 looks suspicious to me. You should not close the connection until you're completely done with it. On the other hand, you should close the statement and resultset when you finish using it (but again, not sooner). Not closing the statement/resultset probably would cause the error you're experiencing, so check this.

By the way, a connection gets closed by calling the close() method. Regardless of whether the variable is static or not, this does close the connection.

If you post the code, you'll probably get better response than this one. We need to see what's really happening there.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic