Я создаю приложение, которое собирает данные из нескольких источников данных.Из этих источников данных у нас работает несколько экземпляров Oracle.
Я считаю, что единственный способ подключиться к своему экземпляру Oracle 8i - это использовать ojdbc14.jar и следующее:
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();
Когда я пытаюсь обновиться до ojdbc5.jar или ojdbc6.jar , используя тот же код, я получаю ArrayIndexOutofBoundsException.То же самое, если я использую только URL-адрес «jdbc: oracle: thin: $ user / $ password @ $ host: $ port: $ sid», который работает с более свежими экземплярами Oracle, к которым я подключаюсь.
Я бы предпочел не привязываться к необходимости использовать более старый ojdbc14.jar (особенно когда я использую Java 6), так как в будущем мне, возможно, придется поддерживать более высокие базы данных Oracle.
Итак, я надеюсь, что возможен один из двух сценариев:
1) Я просто пропускаю строку подключения, которую можно использовать для подключения к Oracle 8i с более свежими банками OJDBC.
2) У меня может быть несколько JJ-файлов OJDBC на моем пути к классам, чтобы я мог использовать ojdbc14.jar на основе исключений и ojdbc6.jar повсюду в другом месте.Хитрость здесь, конечно, состоит в том, чтобы выяснить, как указать, какой jar-файл должен использовать соединение для использования класса «oracle.jdbc.OracleDriver».
Есть мысли?