9
votes

Comment connecter XAMPP MySQL local DB à l'aide de JDBC?

J'ai ce jeu Tetris écrit en Java, qui utilise DB pour enregistrer des scores élevés. Cela fonctionnait bien tant que j'utilisais à distance MySQL DB, mais j'essaie maintenant de configurer Localhost DB à l'aide de Xamp MySQL et continue à partir comme "SQLException: panne de liaison de communication" à la commande:

con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/score", user, psw);


4 commentaires

Ce message prétend y avoir réparé. Vérifiez-le.


La variable de skip-Networking mentionnée est commentée dans mon XAMPP par défaut, donc j'ai peur que ce n'est pas le problème ..


Pouvez-vous accéder à la base de données MySQL avec le navigateur de requête? Je me souviens de courir dans un problème similaire avec une application Java qui a refusé de reconnaître la nommée dans la chaîne de connexion à MySQL.


N'oubliez pas cette étape importante sur ce lien - FerDidolot.WordPress.com/2009/06/14/...


3 Réponses :


1
votes

Dans MySQL, vous devez autoriser l'accès à votre utilisateur de localhost explicitement. Voici un exemple (pris de ICI ):

mysql> grant usage on *.* to amarokuser@localhost identified by 'amarokpasswd';
mysql> grant all privileges on amarokdb.* to amarokuser@localhost ;


1 commentaires

J'utilise la racine, mais j'ai aussi essayé de créer l'utilisateur et de lui donner accès et tous les privilèges, juste pour être sûr ... ne fonctionne pas: /



7
votes

Pourquoi XAMPP n'est-il pas capable de traduire "localhost" en adresse IP et comment le réparer?

Ce n'est pas un problème XAMPP ni un problème de programmation. C'est plus un problème DNS.

Pour démarrer, avez-vous un % Systemroot% / System32 / Pilotes / hôtes / hôtes / hôte> fichier avec la ligne suivante comme d'abord < / forte> ligne? (Ainsi, après tous les commentaires, mais avant toute autre déclaration d'hôte) xxx

update: selon les commentaires que j'ai Googled Un peu et on ressemble à ce que le pilote MySQL JDBC ne mange pas IPv6 adresses du tout. En d'autres termes, vous devrez changer :: 1 à 127.0.0.1 . Mais j'ai aussi trouvé Ce sujet qui mentionne que vous pouvez utiliser les JVM suivants argument pour résoudre ce problème: xxx


1 commentaires

Qu'en est-il de ":: 1 localhost"? Cela devrait faire exactement la même chose, ne devrait-il pas?



4
votes

J'ai essayé et j'ai eu une connexion réussie. Créez d'abord une base de données dans phpmyadmin - par exemple. 'mydb' et ensuite dans le code mettre la connexion.url avec cette valeur xxx

si vous ne créez pas une base de données d'abord, il ne connectera pas


0 commentaires