IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Connexion MySQL - Java (sous Netbeans)


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Connexion MySQL - Java (sous Netbeans)
    Bonjour,

    Je n'ai jamais utilisé MySQL auparavant. Après quelques soucis lors de l'installation de MySQL Server, j'ai finalement tout installé. Mais depuis quelques jours et malgré plusieurs tentatives je n'arrive pas à connecter mon code Java qui est rédigé sur Netbeans, à MySQL. J'ai bien ajouté les librairies (MySQL-connector et MySQL JDBC Driver).

    Le but de mon projet est de créer une application (pour une entreprise donc je resterai vague sur les détails ...) qui permettrait à partir d'un fichier XML contenant des données, d'extraire et de stocker ces données dans une table MySQL, de les afficher sur une interface graphique (d'ou le recours à Netbeans) et ensuite de générer un message en HL7 (car ce sont des données d'ordre médical) vers un appareil médical qui renverra ensuite un message HL7 avec les résultats.

    Voici mon code pour tenter de me connecter à ma BDD : (avec mdp qui est le mot de passe que j'ai rentré en installant mySQL, et remplissage_table le nom de ma base de données au format sql)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    package testbdd;
     
    import java.sql.*;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    /**
     *
     * @author Enora
     */
    public class TestBDD {
     
         /**
          * @param args the command line arguments
          */
         public static void main(String[] args) {
              // TODO code application logic here 
     
    Connection connexion = null;
    try {
    Class.forName("com.mysql.jdbc.Driver");
    System.out.println("Le pilote JDBC MySQL a été chargé");
    connexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/Remplissage_table", "root","mdp");
    System.out.println("Connexion à la BDD OK");
    Statement state = connexion.createStatement();
    ResultSet result = state.executeQuery("SELECT * FROM Demandes_exam");
    ResultSetMetaData resultMeta = result.getMetaData();
    for(int i = 1; i <= resultMeta.getColumnCount(); i++)
    System.out.print(resultMeta.getColumnName(i).toUpperCase() + " | ");
    System.out.println();
    while(result.next()){
    for(int i = 1; i <= resultMeta.getColumnCount(); i++)
    System.out.print(result.getObject(i).toString() + " | ");
    System.out.println();
    }
    result.close();
    state.close();
    connexion.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
         }
     
    }
    La grande partie de ce code provient d'un autre forum sur internet dont je me suis inspirée.
    Je précise également que le base de données utilisée se situe dans un dossier sur le bureau,et non pas dans un des fichiers de l'application mysql

    Et voici le message d'erreur renvoyé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Le pilote JDBC MySQL a été chargé
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 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.
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:355)
    	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2461)
    	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
    	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
    	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
    	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    	at java.sql.DriverManager.getConnection(DriverManager.java:664)
    	at java.sql.DriverManager.getConnection(DriverManager.java:247)
    	at testbdd.TestBDD.main(TestBDD.java:27)
    Caused by: java.net.ConnectException: Connection refused: connect
    	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    	at java.net.Socket.connect(Socket.java:589)
    	at java.net.Socket.connect(Socket.java:538)
    	at java.net.Socket.<init>(Socket.java:434)
    	at java.net.Socket.<init>(Socket.java:244)
    	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
    	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:305)
    	... 15 more
    J'espère que l'un d'entre vous pourra m'aider car je commence à désespérer après toutes mes tentatives

    Je précise aussi que le ligne qui ne marche pas est celle-ci : connexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/Remplissage_table", "root","mdp"); La suite du programme ne m'interesse pas vraiment puisque je vais la modifier ensuite.


    Un grand merci d'avance

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je pense que ton serveur rejette ta demande de connexion.
    Je ne sais pas si tu as installé MySQLWorkbench ou si tu as un autre outil équivalent mais il faudrait aller voir du côté des droits de l'utilisateur root.

    Avec MySQL Workbench, sur linux, tu as un menu "Server" -> "Users and Privileges" et là, tu dois avoir une ligne correspondant à root localhost.
    Ensuite, pour ce qui est de l'url de connexion, je te suggère d'utiliser localhost plutôt que 127.0.0.1 (c'est l'adresse loopback), ça pourrait être la source de ton problème.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Je pense que ton serveur rejette ta demande de connexion.
    Je ne sais pas si tu as installé MySQLWorkbench ou si tu as un autre outil équivalent mais il faudrait aller voir du côté des droits de l'utilisateur root.

    Avec MySQL Workbench, sur linux, tu as un menu "Server" -> "Users and Privileges" et là, tu dois avoir une ligne correspondant à root localhost.
    Ensuite, pour ce qui est de l'url de connexion, je te suggère d'utiliser localhost plutôt que 127.0.0.1 (c'est l'adresse loopback), ça pourrait être la source de ton problème.
    Merci pour ta réponse ! Oui j'ai bien installé MySQL Workbench en même temps. J'essaye ce que tu m'as dit demain et je te dirais si ca fonctionne ! J'avais déjà essayé avec localhost et j'avais les mêmes messages d'erreur.

    Encore merci !

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Je pense que ton serveur rejette ta demande de connexion.
    Je ne sais pas si tu as installé MySQLWorkbench ou si tu as un autre outil équivalent mais il faudrait aller voir du côté des droits de l'utilisateur root.

    Avec MySQL Workbench, sur linux, tu as un menu "Server" -> "Users and Privileges" et là, tu dois avoir une ligne correspondant à root localhost.
    Ensuite, pour ce qui est de l'url de connexion, je te suggère d'utiliser localhost plutôt que 127.0.0.1 (c'est l'adresse loopback), ça pourrait être la source de ton problème.

    Tu avais bien cerné le problème visiblement, sur mon workbench je ne suis connectée à aucun serveur et lorsque je demande la connexion avec localhost port 3306 qui est la connexion par défaut ca ne fonctionne pas. Je vais chercher sur internet pour essayer de régler le problème

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Je n'y suis toujours pas arrivée ... J'essaye de lancer MySQL server 5.7 en fond pour pouvoir tenter d'établir la connexion mais rien n'y fait. J'utilise l'invite de commande de mon PC.
    Voila ce que j'obtiens :

    C:\Users\Enora>net start mysql57
    L’erreur système 5 s’est produite.

    Accès refusé.


    Petite question également car je ne sais pas si c'est normal mais j'ai 2 dossiers MySQL :
    C:\Program Files (x86)\MySQL celui-ci dans lequel j'ai Mysql Server 5.7 , Connector J 5.1, Connector.NET 6.9 , Mysql Installer for Windows, etc
    C:\Program Files\MySQL ainsi que celui-ci dans lequel j'ai Connector.C++, MySQL Workbench6.3 CE, Mysql Router, Mysql Shell, etc

    Je trouve cela étrange que tout ne soit pas dans un même dossier mais je n'y connais vraiment rien dans ce domaine ...

    Bref si quelqu'un a trouvé comme lancer MySQL Server pour ensuite demander la connexion sur MySQL Workbench, je suis preneuse

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par enorad Voir le message
    Je n'y suis toujours pas arrivée ... J'essaye de lancer MySQL server 5.7 en fond pour pouvoir tenter d'établir la connexion mais rien n'y fait. J'utilise l'invite de commande de mon PC.
    Voila ce que j'obtiens :

    C:\Users\Enora>net start mysql57
    L’erreur système 5 s’est produite.

    Accès refusé.
    Salut,

    Je pense que l'accès est refusé puisque tu as lancé ton cmd en tant qu'utilisateur et non administrateur.
    Donc essaye de le lancer en mode admin et voir si l'erreur persiste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/12/2017, 14h36
  2. Réponses: 0
    Dernier message: 16/05/2009, 19h57
  3. Réponses: 2
    Dernier message: 14/01/2009, 10h48
  4. mysql + java sous netbeans 6.1
    Par hbar01 dans le forum JDBC
    Réponses: 1
    Dernier message: 04/11/2008, 21h35
  5. Ouvrir fichier en Java (sous NetBeans ou Eclipse)
    Par birdy85 dans le forum NetBeans
    Réponses: 5
    Dernier message: 10/04/2008, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo