Я работаю с приложением Spring Boot и пытаюсь получить доступ к базе данных Oracle. Хотя он был успешно создан, он выдает следующую ошибку, когда я пытаюсь выполнить развертывание в Kubernetes.
Я изменил файл application.properties и файл pom.xml со следующими конфигурациями:
Application.yml
spring.datasource.url=jdbc:oracle:thin:@<IP>:1521:orcl
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver
POM-файл
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
Исключение
*************************** APPLICATION FAILED TO START *************************** Description: Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource: Property: driverclassname Value: oracle.jdbc.OracleDriver Origin: "driverClassName" from property source "source" Reason: Failed to load driver class oracle.jdbc.OracleDriver in either of HikariConfig class loader or Thread context classloader Action: Update your application's configuration
Проверьте мой ответ на spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver, это должен быть driver.class-name
@Dhanushka - Если проблема устранена, выберите правильный ответ. Это может быть полезно для других. Ваше здоровье




Вам необходимо загрузить jar-файл драйвера Oracle JDBC и добавить его в путь к классам, чтобы ваше приложение загружало класс oracle.jdbc.OracleDriver.
Драйвер можно скачать с здесь.
Я уже пробовал это в IntelliJ. Он успешно построил его в IDE. Но когда я пытаюсь развернуть его в kubernetes, выдает ошибку. пожалуйста помоги
Вы создаете толстую банку? Если да, то вы можете явно включить jar драйвера.
Зависимость Мавена:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0</version>
</dependency>
файл application.yml:
# Oracle settings
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=system
spring.datasource.password=password
spring.datasource.driver.class-name=oracle.jdbc.OracleDriver
Примечание : имя_класса_драйвера
Иногда вам может понадобиться добавить spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect в файл application.yml (для Oracle 10).
Вы можете проверить, помогает ли пример Приложение Spring Boot.
Добавьте ниже зависимость и репозиторий в pom
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<repositories>
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
</repositories>
Также добавьте следующие свойства в application.properties
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe(SID)
spring.datasource.username=system
spring.datasource.password=pw
Обновите драйвер db в файле Application.yml до
spring.datasource.driver-class-name=oracle.jdbc.**driver**.OracleDriver or spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
Очередная нестыковка? spring.datasource.driver.имя-класса v/s spring.datasource.driver-имя-класса
Запросы на разъяснения или дополнительную информацию от OP должны быть в комментарии, а не в ответе. Пожалуйста, публикуйте ответ только в том случае, если он действительно отвечает на вопрос.
Кстати, я нашел ответы на свои вопросы: используйте spring.datasource.driver-class-name=oracle.jdbc.OracleDriver для >Oracle 9i (не требуется Водитель) Однако, если я распаковываю ojdbc6.jar, я вижу оба класса там. И правильный атрибут для использования — spring.datasource.driver-class-name.
Для БД Oracle,
Настройки Мавена:
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
Настройки свойств:
spring.datasource.url=jdbc:oracle:thin:@172.16.10.12:1521/orcl11
spring.datasource.username=[username]
spring.datasource.password=[password]
Не используйте
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
Вам нужен драйвер OJDBC