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 :

[MySQL] SQLException: No suitable driver


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut [MySQL] SQLException: No suitable driver
    Bonjour,

    J'essaie d'accéder à une base de données MySQL (MySQL installé avec le package MAMP sous macosx) à partir d'une appli Java. J'ai télécharger le driver Connector/J, l'ai inclu dans mon classpath et appelle la fonction suivante depuis mon appli:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Class.forName(com.mysql.jdbc.Driver);
    Seulement, quand j'essaie de me connecter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DriverManager.getConnection(jdbc:mysql:///db_ftp_appli, root@localhost, root);
    Il me génère l'erreur suivante:
    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
     
    SQLException: No suitable driver
    apple.awt.EventQueueExceptionHandler Caught Throwable : java.lang.NullPointerException
    java.lang.NullPointerException
    	at DBConnection.executeQuery(DBConnection.java:57)
    	at Login.authentification(Login.java:110)
    	at Login.actionPerformed(Login.java:98)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1819)
    	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1872)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:247)
    	at java.awt.Component.processMouseEvent(Component.java:5166)
    	at java.awt.Component.processEvent(Component.java:4963)
    	at java.awt.Container.processEvent(Container.java:1613)
    	at java.awt.Component.dispatchEventImpl(Component.java:3681)
    	at java.awt.Container.dispatchEventImpl(Container.java:1671)
    	at java.awt.Component.dispatchEvent(Component.java:3543)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3527)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3242)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3172)
    	at java.awt.Container.dispatchEventImpl(Container.java:1657)
    	at java.awt.Window.dispatchEventImpl(Window.java:1606)
    	at java.awt.Component.dispatchEvent(Component.java:3543)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Merci d'avance pour vos suggestion !!

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    => direction le forum Java
    Pensez au bouton

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Citation Envoyé par ignatius.b
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DriverManager.getConnection(jdbc:mysql:///db_ftp_appli, root@localhost, root);
    Très bizarre cette ligne.
    Une erreur de copier coller ?!

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    les paramètres doivent être en cote mais ce n'est rien, il y aurait une erreur de compile si cela passais comme ça.

    Non, ce qui est étrange c'est que le driver ne soit pas enregistré auprès du DriverManager.
    Tu n'as aucune erreur sur le Class.forName ???

    Tu est en application standalone ou sur un container ? (web ou EJB)
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci de votre aide, et désolé pour mon erreur de copier coller.

    J'ai testé mon projet sur un PC, ça marche nickel.

    De retour sur mon mac, j'ai créé un nouveau projet, puis importé les sources, et maintenant j'ai une nouvelle erreur que je ne comprends pas plus:

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    SQLException: Communications link failure due to underlying exception: 
     
    ** BEGIN NESTED EXCEPTION ** 
     
    java.net.SocketException
    MESSAGE: java.net.ConnectException: Connection refused
     
    STACKTRACE:
     
    java.net.SocketException: java.net.ConnectException: Connection refused
    	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:2565)
    	at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    	at java.sql.DriverManager.getConnection(DriverManager.java:512)
    	at java.sql.DriverManager.getConnection(DriverManager.java:171)
    	at DBConnection.connect(DBConnection.java:23)
    	at Login.authentification(Login.java:106)
    	at Login.actionPerformed(Login.java:98)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1819)
    	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1872)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:247)
    	at java.awt.Component.processMouseEvent(Component.java:5166)
    	at java.awt.Component.processEvent(Component.java:4963)
    	at java.awt.Container.processEvent(Container.java:1613)
    	at java.awt.Component.dispatchEventImpl(Component.java:3681)
    	at java.awt.Container.dispatchEventImpl(Container.java:1671)
    	at java.awt.Component.dispatchEvent(Component.java:3543)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3527)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3242)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3172)
    	at java.awt.Container.dispatchEventImpl(Container.java:1657)
    	at java.awt.Window.dispatchEventImpl(Window.java:1606)
    	at java.awt.Component.dispatchEvent(Component.java:3543)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
     
     
    ** END NESTED EXCEPTION **
     
     
     
    Last packet sent to the server was 48 ms ago.
    apple.awt.EventQueueExceptionHandler Caught Throwable : java.lang.NullPointerException
    java.lang.NullPointerException
    	at DBConnection.executeQuery(DBConnection.java:57)
    	at Login.authentification(Login.java:110)
    	at Login.actionPerformed(Login.java:98)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1819)
    	at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1872)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:247)
    	at java.awt.Component.processMouseEvent(Component.java:5166)
    	at java.awt.Component.processEvent(Component.java:4963)
    	at java.awt.Container.processEvent(Container.java:1613)
    	at java.awt.Component.dispatchEventImpl(Component.java:3681)
    	at java.awt.Container.dispatchEventImpl(Container.java:1671)
    	at java.awt.Component.dispatchEvent(Component.java:3543)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3527)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3242)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3172)
    	at java.awt.Container.dispatchEventImpl(Container.java:1657)
    	at java.awt.Window.dispatchEventImpl(Window.java:1606)
    	at java.awt.Component.dispatchEvent(Component.java:3543)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

  6. #6
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    salut,

    j'ai eu aussi le meme probleme ya qq mois pck je suis sous mac aussi...
    j'ai pas mon mac sous la main la, mais j'ai le vague souvenir que c t a cause d'un probleme de version java qui ne supportait pas une fonctionnalite du j connector...
    je presume que tu n'utilises pas java 5 sous mac, ce qui pourrait expliquer le fait que ca marche nickel sous win, pck il est souvent plus en avance en tout ce qui est nouvelles versions.
    tu peux aussi lire le manuel de j connector, ca parle de ca au 1er et 2eme paragraphe qui parle de la configuration du driver et l'instanciation de la classe.
    encore une fois desole, je sais que c pas super clair ce que je dis, mais j'ai pas mon mac sous la main la pour pouvoir te dire...

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci pour ces conseils, mais je n'ai pas trouvé d'information vraiment pertinente relative à ce problème.

    En fait, je nage toujours total.

    Si quelqu'un a une autre idée???

    MERCI

  8. #8
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Août 2005
    Messages : 124
    Points : 133
    Points
    133
    Par défaut
    Je en pense pas que cela soit du à un prblème de version de java sous mac ou windows, mais plutot du localhost qu'il n'arrive pas à trouver à partir de ton mac. As-tu essayer de lancer ton programme à partir d'un autre pc windows en réseau local? si oui, est-ce que ca marche?

    Je ne pense pas qu'il puisse y avoir un conflit de version de JConnector entre mac et Windows, mais je peux me tromper aussi
    Tout comme la vie, on ne participe pas à une guerre pour la perdre !!!
    PinguY4Ever

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    J'ai actuellement la même erreur :
    SQLException: No suitable driver
    et c'est la seule erreur que j'obtiens.

    Je suis sous Windows et j'utilise java 1.5 et la dernière version du connector J

    j'ai utiliser différentes syntaxes (celle de la faq et une autre) et l'erreur reste inchanger, les deux se compilent très bien.

    Si vous avez une idée ?

    Merci de votre aide

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Suite
    Bonjour j'arrive apres quelques mois apparement
    J'essaie moi aussi de me connecter a ma base mysql sous mon mac os x.3.9
    J'ai installe MAMP donc pas de probleme pour accceder a ma base mysql avec le navigateur
    Pas de probleme pour y acceder avec mon terminal (oui enfin j'ai mis quelques jours a avoir une install propre avec des chemins corrects)
    J'ai rajoute le driver ainsi que le chemin dans le CLASSPATH mais impossible d'aller se connecter correctement a la base
    Pas de probleme pour obtenir le driver mais pour la connexion...mystere
    Voici le rapport d'erreur ci-joint:
    Ah oui ma question......c'est quoi un socket
    J'ai deja eu ce probleme en essayant de me connecter en terminal
    Merci pour vos reponses
    ---------------------------
    je rentre dans la procedure //debut class
    recherche du driver //class.forName correct
    Etablissement de la connexion //Connexion........
    erreur voici le message : Communications link failure due to underlying exception:

    ** BEGIN NESTED EXCEPTION **

    java.net.ConnectException
    MESSAGE: Connection refused

    STACKTRACE:

    java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
    at java.net.Socket.connect(Socket.java:452)
    at java.net.Socket.connect(Socket.java:402)
    at java.net.Socket.<init>(Socket.java:309)
    at java.net.Socket.<init>(Socket.java:153)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:173)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:267)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2739)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at Test.main(Test.java:16)


    ** END NESTED EXCEPTION **



    Last packet sent to the server was 85 ms ago

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut au fait
    Si je ne vous met pas le code ca va ptet pas le faire...


    import java.util.*;
    import java.lang.*;
    import java.sql.*;

    class Test
    {
    public static void main(String [] p)
    {
    System.out.println("je rentre dans la procedure ");

    try{
    System.out.println("recherche du driver");
    Class.forName("com.mysql.jdbc.Driver");
    System.out.println("Etablissement de la connexion");

    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/client","root","root");

    System.out.println("Connexion a la base reussie ");
    }

    catch(Exception e)
    { System.out.println("erreur voici le message "+e.getMessage());}



    }
    }

    Olivier

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut bon ben....
    Re bonsoir
    Finalement c'était (enfin c'est pas fini) presque tout bete
    Le serveur mysql utilise le port 8889 sur ma machine .. donc en lui specifiant ca """""marche""""
    Ce qu'il se passe c'est que je n'arrive pas a m'authentifier en tant qu'utilisateur

    voici le message:

    erreur voici le message : Access denied for user 'root@localhost'@'localhost' (using password: YES)

    Je ne comprend pas pourquoi il me met deux fois de suite localhost...?
    Merci pour votre aide

    Olivier

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut bon je v me cacher
    Ca y est.....
    Bon ca va ressembler a un blog si je continue....

    Pour ce que ca interesse voici mon code

    public static void main(String [] p)
    {
    System.out.println("je rentre dans la procedure ");

    try{
    System.out.println("recherche du driver");
    Class.forName("com.mysql.jdbc.Driver");
    System.out.println("Etablissement de la connexion");

    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:8889/client","root","root");

    System.out.println("Connexion a la base reussie ");
    }


    et voici le resultat

    je rentre dans la procedure
    recherche du driver
    Etablissement de la connexion
    Connexion a la base reussie

    Bonne soiree n'hesitez pas pour ceux qui galere

    Rappel
    Mac os X.3.9
    MAMP
    java 1.4.2 ( )
    mysql connector 5.0.5

    ++

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/08/2012, 09h23
  2. Réponses: 1
    Dernier message: 04/06/2008, 23h22
  3. java.sql.SQLException: No suitable driver found
    Par jpalcluc dans le forum Hibernate
    Réponses: 5
    Dernier message: 31/07/2007, 16h53
  4. [MySQL] SQLException: No suitable driver
    Par Aethis dans le forum JDBC
    Réponses: 13
    Dernier message: 08/08/2006, 09h28
  5. java.sql.SQLException: No suitable driver
    Par lunart dans le forum JDBC
    Réponses: 17
    Dernier message: 09/06/2006, 11h54

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