Fatal bug in Oracle JDBC OCI driver - Oracle admits it.

From: Dean Willis <dean_at_logical-approach.com>
Date: Sat, 22 May 1999 18:22:23 GMT
Message-ID: <zBC13.504$fB1.34293_at_newshog.newsread.com>



[Quoted] [Quoted] I've just spent two days checking everything in my system, and multiple [Quoted] calls to oracle technical support to find out that there is a problem in the Oracle JDBC OCI driver that Oracle thinks may or may not be a problem worth fixing. The driver builds a cursor when it does an insert and then fails to release that cursor. In addition to being a waste of resources, when you reach the number of inserts that is equal to your ORACLE MAX_CURSORS, you will abend with an ORA-01000 Max open cursors exceeded. The only workaround for this is to keep track of how many inserts you have made, and before it gets to the MAX_CURSORS limit, then you must disconnect and re-connect to the database. Keep in mind that Oracle and the drivers open cursors that you don't know about, so you are never really sure when you need to disconnect and reconnect to the database. Oracle has asked me to send them all my code, and the abend and everything else they could think of, because even though they know about this bug, they are not sure it is serious enough to fix. If you are only doing a few inserts, then it will only waste your resources, but if you are doing a real application that does many inserts, it will abend on you. I can't believe that Oracle is so arrogant about this to think it not a problem that needs fixing.

These are the JDBC OCI drivers on the Oracle CD for Oracle 8.0.5, so I do not know if it affects other versions, but I would suspect so. We are also running Solaris 2.7 with JDK 1.1. Received on Sat May 22 1999 - 20:22:23 CEST

Original text of this message