Tuesday, January 27, 2009

Oracle and JDBC versions

Finally recovered from the holidays, it's time to get back into the swing again.
Over the holidays, one of our developers ran into an interesting issue.
We were working on a middleware component that used the JDBC6 Oracle library and we needed it to connect to an Oracle 8 database. However, every time we attempted to connect to the database, we received the following error:

Connecting to database4: java.lang.ArrayIndexOutOfBoundsException:4

The error was very non-descriptive, but after a lot of troubleshooting, we determined that the issue was the JDBC version. JDBC6 was not compatible with Oracle 8, so we had to use JDBC14. Additionally, Oracle 8 required that the connection strong be built and used rather than populating the class variables and allowing the class to build the connection string.