web-dev-qa-db-fra.com

Impossible de créer PoolableConnectionFactory

Quel est le problème? Impossible de se connecter à la base de données? 

   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.)
19
ujava

Ceci est la réelle cause du problème:

Causé par: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Échec de la liaison de communication

Vous avez un problème de lien de communication avec la base de données. Assurez-vous que votre application dispose d'un accès réseau à votre base de données (et que le pare-feu ne bloque pas les ports de votre base de données).

19
Buhake Sindi

C'est un problème de réseau. Vérifiez votre connectivité de base de données. Le lien de connexion à votre base de données, votre nom d'utilisateur et votre mot de passe sont incorrects ou votre serveur de base de données est arrêté.

4
Raje

J'ai eu le même problème avec localhost dans l'URL source . J'ai résolu avec 127.0.0.1 au lieu de localhost.

4
Shinigami

Ici, il a été causé par un antivirus avast. Vous pouvez désactiver le pare-feu avast et laisser uniquement le pare-feu Windows actif.

3
Mateus Viccari

Je rencontre le même problème lorsque je configure Tomcat et le serveur mysql sur VirtualBox VM à l'aide de chef. 

dans ce cas, je pense que le vrai problème est que VirtualBox semble assigner une adresse non-localhost à eth0 comme

[vagrant@localhost 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

puis fonction de détection automatique de la recette du chef utilisant 10.0.2.15 comme adresse de liaison du serveur mysql.

alors spécifiez l'adresse de liaison pour les paramètres de nœud de la recette du chef résolvent le problème dans mon cas. J'espère que cette information aidera les gens qui utilisent chef avec vagabond.

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

Cela est dû au fait que le pare-feu bloque la connexion à la base de données.

Désactivez le pare-feu, puis essayez à nouveau d'exécuter le programme. Cela a fonctionné pour moi ...: D

1
Rakesh Patil

Accédez au fichier my.ini dans le chemin ci-dessous dans Windows C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

et commenter la ligne ci-dessous

#bind-address=127.0.0.1

Puis redémarrez le serveur MySQL et connectez-vous.

Vous pourrez alors vous connecter à MySQL à partir d’une autre adresse IP/machine.

0
nagadu

J'ai changé la version du pilote dans pom.xml et m'a aidé

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

Dans mon cas, la solution consistait à supprimer l'attribut

validationQuery="select 1"

de la balise de ressource (Derby DB).

0
RobE

Ce problème spécifique peut également survenir dans localhost. Nous ne pouvons pas exclure que cela soit dû à un problème de réseau ou de connectivité Internet. Ce problème viendra même si toutes les propriétés de connexion à la base de données sont correctes.

J'ai fait face au même problème quand j'ai utilisé le nom d'hôte. Utilisez plutôt l'adresse IP. Ça va être résolu.

0
Sumanth Varada