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.
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.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: maximum open cursor exceeded in java batch