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 :

probleme de connexion au serveur mysql en reseau


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 12
    Points
    12
    Par défaut probleme de connexion au serveur mysql en reseau
    Bonjour,
    j'ai deux ordinateur en réseau j'ai installé sur l'un easyphp et j'ai executé sur l'autre un code source ecrit en java permettant la connexion à une BD en mysql.

    Code Java : 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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.ResultSet; 
    import java.sql.Statement; 
     
    public class cc { 
    public Connection con; 
    private String login="root"; 
    private String pswd=""; 
     
    public cc(String l,String p) 
    { 
    login=l; 
    pswd= p; 
    try{ 
    connecter(); 
    }catch (Exception e) {} 
    } 
     
    public boolean connecter() 
    { 
     
    String url="jdbc:mysql://192.168.10.2/testme"; 
    try 
    { 
     
    Class.forName("com.mysql.jdbc.Driver"); 
    System.out.println("chargement du pilote réussi\n"); 
    } 
    catch(ClassNotFoundException exc) 
    { 
    System.out.println("Chargement échoué\n"+exc); 
    return false; 
    } 
    //ouverture de la connexion 
    try{ 
    con=DriverManager.getConnection(url,login,pswd); 
    System.out.println("connection url réussie"); 
    return true; 
    } 
    catch(Exception exc){ 
    System.out.println("connection echouee"+exc); 
    return false; 
    } 
    } 
     
    public String GetPassword() 
    { 
    return pswd; 
     
    } 
     
    public String GetLogin() 
    { 
    return login; 
    } 
    public Connection Getcon() 
    { 
    return con; 
    }

    Erreur:

    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
    chargement du pilote réussi 
     
    connection echoueecom.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 
     
    ** BEGIN NESTED EXCEPTION ** 
     
    java.net.SocketException 
    MESSAGE: java.net.ConnectException: Connection timed out: connect 
     
    STACKTRACE: 
     
    java.net.SocketException: java.net.ConnectException: Connection timed out: connect 
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284) 
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2569) 
    at com.mysql.jdbc.Connection.<init>(Connection.java:1485) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at doud.cc.connecter(cc.java:39) 
    at doud.cc.<init>(cc.java:18) 
    at doud.ma.main(ma.java:10) 
     
     
    ** END NESTED EXCEPTION ** 
     
     
     
    Last packet sent to the server was 31 ms ago.
    Aidez moi svp

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Arrives-tu à te connecter à la base depuis l'ordi qui héberge le programme java, mais en passant par autre chose que java ?
    Je demance ça car je vois deux problèmes possible pour cette exception :
    - problème réseau (coupure, mauvais nom de host, port bloqué par un firewall etc.)
    - base non démarrée.

    Bon courage

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    J'ai exactement le même problème sauf que j'ai pas tout à fait le même problème de message d'erreur (J'ai une erreur IO).

    Ce n'est pas un problème de Firewall, mon serveur SQL est bien lancé, mes IDs sont corrects, mon url aussi apparement, le driver à l'air de s'être chargé correctement donc je suis à court d'idées

    Mais maintenant que tu le dis il s'agit peut-être du fait que la base ne soit pas lancée mais comment faire pour la lancer ?

    Mon code :
    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
    import java.sql.*;
     
    public class aaa {
     
        public static void main (String args[]) {
     
    		try
    		{			
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    			System.out.println("Driver Ok");
     
    			DriverManager.getConnection("jdbc:mysql://localhost:3306/Videotheque", "root", "secret");
    			System.out.println("Connexion Ok");
    		}
    		catch (Exception e)
    		{
    			System.out.println(e);
    		}
        }
    }
    Mon Message d'erreur :
    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
    [Session started at 2007-09-29 17:31:22 +0200.]
    Driver Ok
    java.sql.SQLException: Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream
     
    ** BEGIN NESTED EXCEPTION ** 
     
    java.io.IOException
    MESSAGE: Unexpected end of input stream
     
    STACKTRACE:
     
    java.io.IOException: Unexpected end of input stream
    	at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1073)
    	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:619)
    	at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:485)
    	at com.mysql.jdbc.Driver.connect(Driver.java:341)
    	at java.sql.DriverManager.getConnection(DriverManager.java:525)
    	at java.sql.DriverManager.getConnection(DriverManager.java:171)
    	at aaa.main(aaa.java:13)
     
     
    ** END NESTED EXCEPTION **

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Vérifiez aussi que dans la configuration de mysql il n'y a pas l'option skip-networking !!

    Si elle y est, l'accès est uniquement locale pour la base (par socket file unix ou mémoire partagée sur win)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Ma base est justement en Locale !
    Je voudrais savoir déjà comment on fait pour activer une base de données (car mon problème viendrait peut-être de là).
    Sinon si quelqu'un à une idée qu'il la fasse savoir. Je pense pas que mon problème vienne de JAVA mais de MySql (du genre une option à modifier ou que sais-je ?)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Il suffit de regarder si le port 3306 est bien en écoute (LISTEN) avec un netstat.

    Il faut que le résultat soit :

    0.0.0.0:3306
    ou
    127.0.0.1:3306

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    J'obtiens bien 127.0.0.1:3306 quand mon serveur MySql est activé et pourtant j'obtiens toujours ce même message d'erreur

    Mais quand j'ai tapé la commande (je suis sous Mac OSX) sudo ./safe_mysqld --skip-networking (pour lui dire que ma base est en locale uniquement) le message d'erreur de mon application JAVA a changé pour devenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Session started at 2007-09-29 21:10:30 +0200.]
    Driver Ok
    java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused
     
    aaa has exited with status 0.
    et mon port 3306 est fermé pour localhost (127.0.0.1)

    Peut-être que mon problème viendrait d'une option à activer au démarrage du serveur ou quelque chose dans ce genre là.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Est-ce que ta base Videotheque existe ? Parce que là je vois pas vraiment ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Oui oui elle existe, c'est moi qui l'ai faite sous MySql mais elle ne contient aucune données pour le moment et elle n'est visible et exploitable uniquement qu'avec l'utilisateur root (mais ce n'est que temporaire)

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Tu as quelle version de mysql et quelle version de jdbc ?

    Et aussi tant qu'à faire, tu peux copier/coller ton fichier de configuration de mysqld ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Ma version de MySql est la 5.0.45 et ma version de JDBC je n'en sais rien.

    Je vais difficilement pouvoir te faire un copier/coller de mon fichier mysqld car il est trop lourd (6,4 mo)

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Non pas le binaire mysqld, jsute le my.cnf correspondant

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    A la base je n'ai pas ce fichier (peut-êre fallait - il le créer ? si oui comment ?) alors j'ai télécharger un petit utilitaire sur le site officiel de mysql qui m'a permi de le créer mais il n'y a pas pas grand chose dedant.

    Voici ce qu'il y a écrit dedant pour le moment :
    [mysqld]
    #Don't allow connections via TCP/IP.
    skip-networking
    #Port number to use for connections.
    port=3306

  14. #14
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci pour vos reponse et désolé j'ai pas répondu hier car j'ai pas connecté,
    Mais enfin j'ai trouvé la solution
    il faut ajouter deux ligne dans le fichier my.cnf situé sous C:\WINDOWS,adresse ip de client et l'adresse ip du machine contenant le serveur mysql.

    # This will be passed to all mysql clients
    [client]
    #password=my_password
    port=3306
    bind-address=@ ip de client
    #socket=MySQL

    # The MySQL server
    [mysqld]
    skip-innodb
    bind-address=@ip du host contenat le serveur
    bind-address=127.0.0.1
    port=3306


    SyLvErStOrM, je vous conseille de desinstaller mysql5 et installer Easyphp, ce sera mieux et dites moi sa marche ou non

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Si je modifie mon My.cnf de cette manière, mon serveur MySql ne démarre même plus

    Cela dit je l'ai modifié comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [mysqld]
    #Port number to use for connections.
    port=3306
    #Enable this option only if you would like to use InnoDB tables.
    skip-innodb
    #IP address to bind to.
    bind-address=127.0.0.1
    Mais j'ai toujours ce même message d'erreur. Je sens que je vais devenir fou

    Je ne peux pas installer EasyPhp car je suis sous Mac OSX et cet outils n'existe pas sur Mac.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 45
    Points
    45
    Par défaut
    Bon j'ai ENFIN résolu mon problème

    Ne vous moquez pas trop de moi mais j'avais mon Driver pour MySql version 3 alors que j'ai MySql 5 donc forcément ce n'était pas compatible.

    En tout cas merci à tous pour votre aide

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

Discussions similaires

  1. probleme de connexion à un serveur firebird en dehors du reseau local
    Par kameleon80 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 07/05/2015, 14h10
  2. Problème de connexion avec serveur AD - Samba
    Par mask66 dans le forum Réseau
    Réponses: 8
    Dernier message: 24/08/2009, 12h07
  3. Problèmes de connexion au serveur - Samba
    Par Gwen38 dans le forum Réseau
    Réponses: 5
    Dernier message: 09/05/2005, 18h18
  4. Probleme de connexion au serveur Hotmail
    Par black is beautiful dans le forum Développement
    Réponses: 8
    Dernier message: 17/09/2004, 22h18
  5. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 09h28

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