Подтвердить что ты не робот

Не удалось создать PoolableConnectionFactory

В чем проблема? Не удается подключиться к базе данных?

   org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (
            Communications link failure 
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
4b9b3361

Ответ 1

Это актуальная причина проблемы:

Вызвано: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Ошибка связи канала связи

У вас есть проблема связи с базой данных. Убедитесь, что ваше приложение имеет сетевой доступ к вашей базе данных (а брандмауэр не блокирует порты в вашей базе данных).

Ответ 2

Это сетевая проблема. Проверьте подключение к базе данных. Либо ваша связь с базой данных, имя пользователя и пароль неверны, либо сервер базы данных остановлен.

Ответ 3

У меня была такая же проблема с localhost в исходном URL-адресе. Я решил с 127.0.0.1 вместо localhost.

Ответ 4

Здесь он был вызван avast антивирусом. Вы можете отключить брандмауэр avast и включить только брандмауэр Windows.

Ответ 5

Я сталкиваюсь с той же проблемой, когда я настраиваю tomcat и mysql-сервер на VirtualBox VM с помощью шеф-повара.

в этом случае, я думаю, что истинная проблема заключается в том, что VirtualBox, по-видимому, назначает не-localhost адрес eth0, например

[[email protected] webapps]$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:60:FC:47
      inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0

затем функция автоматического обнаружения рецепта шеф-повара с использованием 10.0.2.15 в качестве адреса привязки сервера mysql.

поэтому укажите адрес привязки для node параметров рецепта шеф-повара, чтобы решить проблему в моем случае. Надеюсь, эта информация поможет людям, использующим шеф-повара с бродягой.

{
  "name" : "db",
  "default_attributes" : {
   "mysql" : {
    "bind_address" : "localhost"
    ...
   }

Ответ 6

Это происходит потому, что брандмауэр блокирует соединение с базой данных.

Отключите брандмауэр и повторите попытку запуска программы. Это сработало для меня...: D

Ответ 7

Перейдите к файлу my.ini по указанному ниже пути в Windows C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

и прокомментируйте нижнюю строку

#bind-address=127.0.0.1

Затем перезапустите сервер MySQL и подключитесь.

Тогда вы сможете подключиться к MySQL с другого IP-адреса/компьютера.

Ответ 8

Эта конкретная проблема может возникнуть и в localhost. Мы не можем исключить это потому, что проблема с сетью или интернет-соединения. Эта проблема возникнет, даже если все свойства подключения к базе данных верны.

Я столкнулся с той же проблемой, когда я использовал имя хоста. Вместо этого используйте IP-адрес. Это будет решено.

Ответ 9

Я изменил версию драйвера в pom.xml и помог мне

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.2</version>
</dependency>

Ответ 10

В моем случае решение было удалить атрибут

validationQuery="select 1"

из тега ресурса (Derby DB).

Ответ 11

Проблема может быть связана с тем, что слишком много пользователей обращаются к БД одновременно. Либо увеличьте количество пользователей, которые могут одновременно получить доступ к БД, либо исключите существующих пользователей (или приложения). Используйте "Показать список процессов;" в БД хоста проверить подключенных пользователей;

Я натолкнулся на другую причину, файл catalina.policy, который мог запретить доступ к конкретному IP/PORT

Ответ 12

Если вы используете версию apache tomcat 8.0, вместо нее используйте tomcat 7.0 Я пробовал localhost до 127.0.0.1 и отключил брандмауэр, но не работал, но использовал tomcat 7.0 и теперь работал

Ответ 13

У меня была аналогичная ошибка. Изменение URL-адреса JDBC для использования 127.0.0.1 вместо localhost помогло.

Также попытался изменить записи в файле catalina.policy, но это не помогло. Запись, которую я изменил, была для - java.net.SocketPermission