Невозможно подключиться к базе данных с Hibernate - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть этот стек ошибок, и моя первая программа гибернации не запущена.

Исключение:

  org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
            at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:122)
            at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
            at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
            at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
            at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
            at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
            at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
            at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
            at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
            at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
            at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
            at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
            at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
            at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
            at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
            at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
            at hibernate.StudentManager.main(StudentManager.java:22)
        Caused by: java.sql.SQLException: NL Exception was generated
            at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
            at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:480)
            at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
            at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
            at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
            at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
            at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
            ... 14 more
        Caused by: oracle.net.ns.NetException: NL Exception was generated
            at oracle.net.resolver.AddrResolution.resolveAddrTree(AddrResolution.java:613)
            at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:403)
            at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:630)
            at oracle.net.ns.NSProtocol.connect(NSProtocol.java:206)
            at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
            at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)

Я пробовал разные URL-адреса подключения, поскольку это SQLисключение / ошибка, но я всегда сталкиваюсь с этой проблемой

Файл конфигурации:

<hibernate-configuration>
  <session-factory>  
        <property name="hbm2ddl.auto">update</property>  
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>  
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe;databaseName=HibernatePractice</property>  
        <property name="connection.username">system</property>  
        <property name="connection.password">manager</property> 
        <property name="show_sql">true</property>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>  
    <mapping resource="hbm/hibernate.hbm.xml"/>
    </session-factory>  
</hibernate-configuration>

1 Ответ

0 голосов
/ 30 ноября 2018

Я бы посоветовал проверить следующее

  1. Проверить, доступна ли БД на порту 1521
  2. Я подозреваю, что ваш URL-адрес неверный

Этодолжно быть что-то вроде этого

<property name=”hibernate.connection.url”>jdbc:oracle:thin:@host:1521:databaseName</property>

Так что ваш URl будет

<property name="connection.url">jdbc:oracle:thin:@localhost:1521:HibernatePractice</property> 

или попробуйте

<property name="connection.url">jdbc:oracle:thin:@localhost:1521/HibernatePractice</property>
Возможно, проблема связана с используемой вами версией jar драйвера.

См. здесь для более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...