Мы планируем обновить наши серверы приложений до новой версии JRun, которая включает обновление с Java 1.4 до Java 1.6. В рамках этого мы тестировали различные части нашего программного стека и осознали необходимость также взглянуть на наши драйверы Oracle JDBC.
Глядя на сайт и документацию Oracle, кажется, что разные версии в первую очередь нацелены на различные версии JDBC API, которые, как правило, соответствуют версии JVM, в которой они были представлены. Поскольку Java (как правило) имеет обратную совместимость, кажется, что использование ojdbc14.jar может иметь наибольший смысл, но я надеялся, что кто-то сможет прояснить ситуацию немного лучше.
Документы специально называют такую диаграмму, что заставляет меня задаться вопросом, поддерживается ли ojdbc14.jar официально в Java 6.
classes12.jar - for Java 1.2 and 1.3
ojdbc14.jar - for Java 1.4 and 1.5
ojdbc5.jar - for Java 1.5
ojdbc6.jar - for Java 1.6
Есть ли что-то, о чем я должен знать с точки зрения системы при смешивании и сопоставлении драйверов и виртуальных машин?
Да, вы можете запускать драйверы меньшего размера на более новых версиях Java. Просто ojdbc14.jar не содержит функций JDBC3 и JDBC4.
Вы должны различать время выполнения и время компиляции. Во время выполнения вы можете использовать ojdbc14.jar в JRE6, если код вашего приложения не использует функции JDBC4. Если вы хотите использовать ojdbc14.jar в пути сборки, у вас могут возникнуть проблемы с нереализованным методом.
Однако я обычно рекомендую использовать последние (например, 11.1.0.7) драйверы JDBC и самую высокую версию. (Независимо от версии БД).
Вы используете режим OCI или THIN?