Проблема с подключением к удаленной базе данных с использованием спящего режима - PullRequest
2 голосов
/ 09 декабря 2008

Я пытаюсь подключиться к удаленной базе данных (размещенной на Netfirms www.netfirms.ca , если кому-то интересно), используя hibernate. Мой файл сопоставления выглядит следующим образом:

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://mysql.netfirms.ca:3306/d60549476</property>
        <property name="hibernate.connection.username">u70612250</property>
        <property name="hibernate.connection.password">******</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <!-- Use the C3P0 connection pool provider -->
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.timeout">300</property>
        <property name="hibernate.c3p0.max_statements">50</property>
        <property name="hibernate.c3p0.idle_test_period">3000</property>

        <property name="show_sql">true</property>
        <property name="format_sql">true</property>

        <!-- List of XML mapping files -->
        <mapping resource="customer.hbm.xml"/>
        <mapping resource="customerSummary.hbm.xml"/>
        <mapping resource="charity.hbm.xml"/>
        <mapping resource="charitySummary.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

Когда я запускаю свое приложение, я получаю следующую распечатку:

    16 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
    ....
    94 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
    ....
    485 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
532 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
532 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
547 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
547 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://mysql.netfirms.ca:3306/d60549476
547 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=u70612250, password=****}
168719 [main] WARN org.hibernate.cfg.SettingsFactory - Could not obtain connection metadata
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION **

java.net.NoRouteToHostException
MESSAGE: No route to host: connect

STACKTRACE:

java.net.NoRouteToHostException: No route to host: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)

Я гарантировал, что моя база данных настроена на удаленный доступ. Мне интересно, что вызывает это. Очевидно, я не могу установить соединение с хостом, но я не уверен, почему. Если имя хоста, пользователь и пароль верны, я что-то упустил?

Приложение: Я попытался соединиться, используя тот же драйвер с Squirrel, и получил точно такую ​​же ошибку.

Ответы [ 3 ]

1 голос
/ 11 декабря 2008

Оказывается, было несколько проблем с подключением:

  1. Хотя сайт сказал, что использует mysql.netfirms.ca на Панели управления, их общие инструкции были правильными, и я должен был использовать mysql.netfirms.com, как кто-то еще упоминал ранее.
  2. У Netfirms были некоторые проблемы с их сайтом, и, видимо, я был единственным, кто заметил, что соединения с удаленными машинами были недоступны. Ранее они прислали извинения, и теперь я могу нормально подключиться.

Спасибо всем за помощь.

0 голосов
/ 09 декабря 2008

Исключение говорит о том, что нет маршрута к хосту. Это означает, что вы, скорее всего, не можете даже пропинговать свой сервер БД.

чтение http://support.netfirms.com/article.php?id=694 вы должны поместить другой хост в свой jdbc url

JDBC: MySQL: //mysql.netfirms.com: 3306 / d60549476

0 голосов
/ 09 декабря 2008

Полагаю, первым шагом будет проверка (поскольку вы не сказали, что уже пробовали), можете ли вы подключиться к базе данных с помощью какого-либо инструмента SQL. Как, например, SQuirrel.

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