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 :

Connection Mysql : NonRegisteringDriver .


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Par défaut Connection Mysql : NonRegisteringDriver .
    bonsoir à tous ...

    Voici un probléme que j'essaie de resoudre depuis quequesssss jours :
    Me connecter à une base de données Mysql Avec une servlet.

    En fait il (me) semble que la connection est refusée ( je suis débutant ) .
    Voici le message d'erreur retourné :
    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
     
    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.(MysqlIO.java:276) at 
    com.mysql.jdbc.Connection.createNewIO(Connection.java:2666) at 
    com.mysql.jdbc.Connection.(Connection.java:1531) at 
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at
     java.sql.DriverManager.getConnection(DriverManager.java:525) at 
    java.sql.DriverManager.getConnection(DriverManager.java:171) at org.kzone.ServletJdbc.doGet(ServletJdbc.java:34) at 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at 
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at 
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at 
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at 
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at 
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
     at java.lang.Thread.run(Thread.java:595) ** END NESTED EXCEPTION ** Last packet 
    sent to the server was 61 ms ago.
    avec un Connection refused STACKTRACE on ne peut plus explicite !

    Voici le code de l'exemple :
    Class ServletJdbc :
    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    package org.kzone;
     
    import java.io.*;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    import java.sql.*;
     
    public class ServletJdbc extends HttpServlet {
    	protected void doGet (HttpServletRequest request, HttpServletResponse response)
    	throws IOException, ServletException {
    		// 'ouverture ' de l'écrivain 
    		PrintWriter out = response.getWriter();
    		// précision du format de sortie
    		response.setContentType("text/html");
     
    		// récupération des paramètre du formulaire 
    		final String nom = request.getParameter("nom");
    		final String prenom = request.getParameter("prenom");
    		final String telephone = request.getParameter("telephone");
     
    		// instances de connection 
    		Connection connection = null;
    		ResultSet result = null;
    		Statement statement = null;
     
    		// partie connection a la base
    		try {
    			// connection à la base
    			Class.forName("com.mysql.jdbc.Driver");
    			// obtention d'un connection
    			String url = "jdbc:mysql://localhost/bdtest";
    			connection = DriverManager.getConnection(url, "kzone", "drikilzon");
     
    			statement = connection.createStatement();
     
    			// insertion de valeur à la base
    			String requete = "INSERT INTO personne" +
    					"(nom,prenom,telephone)" +
    					"VALUES ('"+ nom + "','" + prenom + "'," + "'" + telephone +"')";
    			statement.executeUpdate(requete);
     
    			// afficher le contenu de la base de données
    			result = statement.executeQuery("select * from personne");
    			// reécuperation dans un tableau
    			while(result.next()); {
    				int idPersonneBd = result.getInt("idPersonne");
    				String nomBd = result.getString("nom");
    				String prenomBd = result.getString("prenom");
    				String telephoneBd = result.getString("telephone");
     
    				// affichage des resultats 
    				out.println(prenomBd + " " + nomBd + " " + telephoneBd);
    			}
    		}
    		catch (ClassNotFoundException e) {
    			out.println(e.getMessage());
    		}
    		catch (SQLException e) {
    			// TODO Auto-generated catch block
    			out.println(e.getMessage());
    	}
    		//instruction exécutée dans tous les cas
    		finally {
    			// fermeture statement
    			// si ouvert .. on ferme
    			if (statement != null) 
                // peut provoquer une exception
    			{
    				try {
    					statement.close();
    				}
    				catch (SQLException e1) {
    					e1.printStackTrace();
    				}
    			}
    			// fermeture result
    			if (result != null) {
    				try {
    					result.close();
    				}
    				catch (SQLException e1) {
    					e1.printStackTrace();
    				}
    			}
    			// fermeture connection
    			if (connection != null) {
    				try {
    					connection.close();
    				}
    				catch (SQLException e1) {
    					e1.printStackTrace();
    				}
    			}
    		}
    	}
    }
    J'ai mis le descripteur web.xml au niveau de l'application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ....
     <!-- description application servletJdbc -->
      <servlet>
        <servlet-name>ServletJdbc</servlet-name>
        <servlet-class>org.kzone.ServletJdbc</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>ServletJdbc</servlet-name>
        <url-pattern>/formulaire1</url-pattern>
      </servlet-mapping>
    ...
    et j'ai testé cette application en mettant le fichier jar mysql-connector-java-5.0.4-bin aussi bien dans le répertoire commun ( common/lib) que celui de mon application (WEB-INF/lib) ..

    J'ai également ajouté ce fichier dans le javaBuildPath emon projet (sous Eclipse) , mais c'est une approche empirique qui ne me satisfait pas beaucoup .. surtout lorsque cela ne marche pas ...

    Merci de votre aide
    ++

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 13
    Par défaut
    ....

    suite de mon message , où après avoir modifier un paramètre de my.cnf du serveur mysql me donne comme "erreur :

    After end of result set
    qui est bien moins long comme message d'erreur ... (ma connection semble donc résolue) ... mais que je ne comprends pas !!?

    merci a nouveau de votre aide
    ++

    Edit : Les test fait avec le formulaire enregistre nt les données dans la base de mysql ... donc tout est ok pour la connection .

    Le problème (si vous avez ce type d'erreur) venait de la configuration de mySql ....
    Lorsque que j'ai installé Mysql ( système Linux mandriva) avec Urpmi , jai comme conseillé , supprimé les paramètres par défaut 'root' qui permet une connection sans mot de passe ...

    En changeant ces paramètres ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql>set password for .... ect
    pour infos Post installation linux

    ... mais les infos du fichier /etc/my.cnf ne prennait pas en compte ces changment .
    J'ai donc modifié ce fichier en changeant les paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #the following options will be passed to all MYSQL clients
    [client]
    user    = root
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    user = nom_utilisateur
    L'accès à la base est dès lors possible .
    ++

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

Discussions similaires

  1. [Debugage] Connection Mysql
    Par e1lauren dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 16h18
  2. [JAR]Connection Mysql et jar executable
    Par Jones dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/04/2005, 14h27
  3. Nombre max de connections MySQL ?
    Par RorolePro dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/11/2004, 14h16
  4. problème de connection mysql par tcp/ip
    Par leroyphil dans le forum Administration
    Réponses: 5
    Dernier message: 04/09/2003, 18h27
  5. [Kylix] Pb connection à Mysql
    Par Anonymous dans le forum EDI
    Réponses: 3
    Dernier message: 25/04/2002, 15h26

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