Невозможно подключиться к базе данных Oracle. Сообщается: «Невозможно определить URL-адрес jdbc из источника данных»

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

Schema Name=OWNER
Password=OWNER
Database Name=DCGCDB

Он расположен на моем сервере, поэтому IP-адрес для подключения - 192.168.1.5, а номер порта - 1521.

Итак, в моем файле application.properties я сделал некоторые настройки для подключения к базе данных, и вот они:

# Oracle settings
spring.datasource.url=jdbc:oracle:thin:192.168.1.5:1521:DCGCDB
spring.datasource.username=OWNER
spring.datasource.password=OWNER
spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver

## Hibernate Properties
# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = update

spring.jpa.show-sql=true

# logging
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
logging.level.org.hibernate.SQL=debug
#logging.level.org.hibernate.type.descriptor.sql=trace
#logging.level.=debug

Но при создании проекта я получаю такую ​​ошибку:

o.s.b.a.orm.jpa.DatabaseLookup - Unable to determine jdbc url from
datasource org.springframework.jdbc.support.MetaDataAccessException:
Could not get Connection for extracting meta-data; nested exception is
org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to
obtain JDBC Connection; nested exception is
java.sql.SQLRecoverableException: IO Error: The Network Adapter could
not establish the connection    at
org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:328)

Я добавил файл oracle jar в pom.xml

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0</version>
</dependency>

А также выполнил инструкцию mvn install:install-file -Dfile=oracle-ojdbc6-11.2.0.3.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar для установки файла jar oracle.

Неправильный Диалект ?!

Jens 19.11.2018 07:28

какое изменение мне нужно сделать?

ashwin karki 19.11.2018 07:32
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
4 980
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте удалить DataSourceAutoConfiguration из такого кода.

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})

также убедитесь, что все свойства установлены, например.

spring.datasource.url= 
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update

он показывает мне ошибку java.lang.IllegalStateException: не удалось загрузить ошибку ApplicationContext, а также показывает много многих ошибок. Точка инъекции имеет следующие аннотации: - @ org.springframework.beans.factory.annotation.Autowired (Requ‌ ired = true).

ashwin karki 19.11.2018 07:32

@ashwinkarki изменил сообщение

Dark Knight 19.11.2018 07:35

почему вы использовали com.mysql.jdbc.Driver?

ashwin karki 19.11.2018 07:37

я использую оракул

ashwin karki 19.11.2018 07:37

Он спросил о Oracle. Проблема с *.url

Grisotto 15.04.2019 21:49
Ответ принят как подходящий

Следуя странице Oracle FAQ, вы неправильно определили свой URL-адрес JDBC. Это требует исправления, во-первых, из-за этого:

Старый URL-адрес JDBC: jdbc:oracle:thin:192.168.1.5:1521:DCGCDB

к этому:

Новый URL-адрес JDBC: jdbc:oracle:thin@//192.168.1.5:1521/YourOracleServiceName

Учитывая, что DCGCDB - это имя вашей службы Oracle.

Во-вторых, есть разница в диалекте, который используется для Oracle. Не знаю почему !!!

Вы могли бы использовать org.hibernate.dialect.Oracle10gDialect для диалекта вместо org.hibernate.dialect.MySQL5InnoDBDialect.

Надеюсь это поможет!!!

Добро пожаловать, @ashwinkarki. Рад, что смог помочь!

N00b Pr0grammer 19.11.2018 09:30

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