I am creating an application that collects data from several data sources. From these data sources, we have several instances of Oracle.
I found that the only way to connect to my Oracle 8i instance is to use 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 ojdbc5.jar or ojdbc6.jar using the same code, I get an ArrayIndexOutofBoundsException. The same thing if I only use the url "jdbc: oracle: thin: $ user / $ password @ $ host: $ port: $ sid", which works against more recent Oracle instances that I connect with.
I would prefer not to focus on using the older ojdbc14.jar (especially since I use Java 6), as I may have to support higher Oracle databases in the future.
So, I hope that one of two scenarios is possible:
1) There, the connection string, which I simply ignore, can be used to connect to Oracle 8i with newer OJDBC banks.
2) I can have several OJDBC tanks in my class path so that I can use ojdbc14.jar in the exception database and ojdbc6.jar everywhere. The trick here, of course, is how to determine which jar connection to use for the class "oracle.jdbc.OracleDriver".
Any thoughts?
source share