Как выбрать правильную версию ojdbc в соответствии с часто задаваемыми вопросами Oracle?

Я знаю, что есть некоторые вопросы по этому поводу, но ни один из них не говорит о том, как выбирать. Итак, у меня есть база данных Oracle версии 19c и микросервис jdk 17. Когда я смотрю Часто задаваемые вопросы по Oracle, у меня есть 3 варианта использования.

Кроме того, как я уже сказал, у меня есть jdk 17. Это означает, что я могу использовать ojdbc10 или ojdbc8.

Я позволил своему родителю весенней загрузки выбирать, не указывая версию, как в pom

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
</dependency>
<dependency>
    <groupId>com.oracle.database.nls</groupId>
    <artifactId>orai18n</artifactId>
</dependency>

и когда я mvn install вижу, что он устанавливается jdbc 21.9.0.0. Насколько я могу судить, когда я посмотрю первый график, он будет работать с базой данных 19.x. Но я не уверен, что он совместим с JDK17. Вторая диаграмма показывает, что ojdbc8 с базой данных 19.x полностью совместим с JDK17, но как это? Разве эта диаграмма не должна быть в формате jdbc version x jdbc jar. Какое отношение jdk имеет к версии базы данных?

Используйте самую высокую версию, совместимую с вашей базой данных (драйвер 23.3), и версию ojdbcxx, равную или более низкую версии вашей Java (ojdbc11 в случае 23.3). Кроме того, я проголосовал за закрытие, поскольку другие люди с радостью будут утверждать, что вам следует использовать версию, соответствующую версии вашей базы данных.

Mark Rotteveel 26.03.2024 11:25

На самом деле я не спрашивал, какой из них лучше всего мне использовать. Я лишь спросил, как проверить, какие версии я могу использовать согласно официальным документам Oracle. Это просто «научи человека ловить рыбу, и ты накормишь его на всю жизнь».

Kaepxer 26.03.2024 12:05

Первая таблица показывает, что вы правы, но мне нужно знать, сертифицирован ли соответствующий jar для jdk 17, какую вторую таблицу пытается мне показать. Но таблица описывает связь через версию базы данных Oracle, что меня смущает, поскольку я ожидаю, что версия драйвера JDBC позволит выбрать, какой JDK с каким из них совместим. Работники Oracle отвечают на некоторые темы, например, Джин, будьте любезны. Вы можете легко игнорировать тему, если не заинтересованы в помощи.

Kaepxer 26.03.2024 12:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
481
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Имя библиотеки — «ojdbc8», что указывает на то, что она была скомпилирована с использованием Java 8 и, следовательно, реализует спецификацию JDBC 4.2. Драйвер JDBC 21c совместим с сервером 19c. С JDK17 вы можете использовать ojdbc8.jar или ojdbc10.jar. Если вы планируете использовать API JDBC 4.3, вам следует использовать ojdbc10.jar.

В FAQ есть список таблиц с JDBC 4.2 in ojdbc8.jar и JDBC 4.3 in ojdbc10.jar для базы данных 19.x в разделе What are the Oracle JDBC releases Vs JDBC specifications?. Я полагаю, что это должна быть версия JDBC, а не версия базы данных Oracle, такая же, как в таблице раздела What are the Oracle JDBC releases Vs JDK versions?.

Kaepxer 26.03.2024 07:52

Java 8 — это JDBC 4.2, Java 9+ — JDBC 4.3. Я обновил ваш ответ.

Mark Rotteveel 26.03.2024 11:22

Другие вопросы по теме