Различия между class12.jar, ojdbc14.jar, ojdbc5.jar и ojdbc6.jar

10

Мы планируем обновить наши серверы приложений до новой версии 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

Есть ли что-то, о чем я должен знать с точки зрения систем при смешивании и сопоставлении драйверов и виртуальных машин?

Goyuix
источник
Обратите внимание, что это не номер версии, поэтому ojdbc14.jar не старше и не более совместим, чем ojdbc6.jar, он просто использует формат файла более низкого класса, а не все функции JDBC. Oracle рекомендует всегда использовать самую последнюю версию мгновенного клиента, даже если ваша БД является более старой версией.
Eckes

Ответы:

6

Да, вы можете запустить меньшие драйверы на новых версиях Java. Просто ojdbc14.jar не содержит функций JDBC3 и JDBC4.

Вы должны различать время выполнения и время компиляции. Во время выполнения вы можете использовать ojdbc14.jar в JRE6, если код вашего приложения не использует функции JDBC4. Если вы хотите использовать ojdbc14.jar в пути сборки, у вас могут возникнуть проблемы с не реализованным методом.

Тем не менее, я обычно предлагаю использовать самые последние (т.е. 11.1.0.7) драйверы JDBC и максимально возможную версию. (Неважно, какая версия БД).

Вы используете режим OCI или THIN?

Экес
источник
Мы используем тонкий режим.
Goyuix
1
использовать наивысшую доступную версию = исправлено больше ошибок ...
slovon
1
@slovon на самом деле есть документ сертификации от оракула, который говорит вам, какие драйверы могут использоваться с какой БД. 12.1 водители сертифицированы с 12.1 и 11.2. Для старых СУБД вам нужны драйверы 11.1. (И клиент 12.1 поставляется с ojdbc7.jar, но не в InstantClient)
eckes