Hello,
I'm building an application which is collating data from multiple data sources. Of these data sources, we have multiple instances of Oracle running.
I find that the only way I can connect to my Oracle 8i instance is by using the ojdbc14.jar and the following:
String driver = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=$HOST)(PORT=$PORT)))(CONNECT_DATA=(SID=$SID)))"
Class.forName(driver);
Connection c = DriverManager.getConnection(url, $USER, $PASSWORD);
c.close();
When I try to update to ojdbc5.jar or ojdbc6.jar, using the same code, I get an ArrayIndexOutofBoundsException. Ditto if I use just the URL "jdbc:oracle:thin:$user/$password@$host:$port:$sid", which does work against the more recent Oracle instances I'm connecting to.
I'd rather not get locked into having to use the older ojdbc14.jar (especially as I'm using Java 6) as I might have to support higher Oracle databases quite soon in the future.
So, I'm hoping one of two scenarios is possible:
1) There's a connection string I'm simply overlooking which can use to connect to Oracle 8i w/ more recent OJDBC jars.
2) I can have multiple OJDBC jars on my classpath so that I can use ojdbc14.jar on an exception basis and ojdbc6.jar everywhere else. The trick here, of course, is figuring out how to specify which jar the connection needs to use the "oracle.jdbc.OracleDriver" class from.
Any thoughts?