Probleme de connexion à MySQL

bricecoq Messages postés 4 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 11 juillet 2006 - 7 juil. 2006 à 12:32
zikohalim Messages postés 1 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 28 novembre 2008 - 28 nov. 2008 à 02:04
Bonjour à tous,

Dans le cadre de mon stage, je dois faire une appli java qui se connecte à une BDD.

Après avoir regardé partout sur internet, j'ai trouvé le fichier
mysql-connector-java-3.0.17-ga-bin.jar que j'ai mis dans le répertoire
"jdk1.5.0_07/lib" ( et "jdk1.5.0_07/jre/lib/ext" pour etre sûr...)

mon $PATH pointe sur "jdk1.5.0_07/bin"


lorsque j'exécute mon code

<meta http-equiv= "Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" /> import java.awt.*;import javax.swing.*;import java.sql.*;publicclass test {
publicstaticvoidmain (String args[]) {
try{
Class.forName("com.mysql.jdbc.Driver");

String serverName = "localhost";
String mydatabase = "test";
String url "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url <gras>String username </gras> "root";
String password = "*****";

System.out.println("Chaine passee " + url + "\n");
java.sql.Connection conn = java.sql.DriverManager.getConnection(url,username,password);
}
catch ( SQLException E)
{
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}

}
}

j'ai droit à une belle erreur


Chaine passee   jdbc:mysql://localhost/test


SQLException: Unable to connect to any hosts due to exception:
java.net.SocketException: java.net.ConnectException: Connection refused


** 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:143)

        at com.mysql.jdbc.MysqlIO.(MysqlIO.java:225)

        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)

        at com.mysql.jdbc.Connection.(Connection.java:452)

        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)

        at java.sql.DriverManager.getConnection(DriverManager.java:525)

        at java.sql.DriverManager.getConnection(DriverManager.java:171)

        at test.main(test.java:17)


** END NESTED EXCEPTION **


A la main j'arrive tout a fait à ma connecter a la base "test"


Donc avez-vous une idée pour m'aider ?

Merci d'avance

7 réponses

bricecoq Messages postés 4 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 11 juillet 2006
7 juil. 2006 à 13:27
oups probleme du c/c du code... désolé...

import java.awt.*;
import javax.swing.*;
import java.sql.*;

public class test {
public static void main (String args[]) {
try{
Class.forName("com.mysql.jdbc.Driver");

String serverName = "localhost";
String mydatabase = "test";
String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
String username = "root";
String password = "novacteur";

System.out.println("Chaine passee " + url + "\n");
java.sql.Connection conn = java.sql.DriverManager.getConnection(url,username,password);
}
catch ( ClassNotFoundException E)
{
System.out.println("Class error");
}
catch ( SQLException E)
{
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}

}
}
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
10 juil. 2006 à 16:04
ta oublié le port non?
localhost:tonport
chez moi ca donne
localhost:8181

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
bricecoq Messages postés 4 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 11 juillet 2006
11 juil. 2006 à 10:55
ca fait une chaine du genre

jdbc:mysql://localhost:8181/test ?
parce que ca marche toujours pas... MAIS l'erreur a changée !

Chaine passee jdbc:mysql://localhost:8181/test

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.(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2565)
at com.mysql.jdbc.Connection.(Connection.java:1485)
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 test.main(test.java:18)


** END NESTED EXCEPTION **



Last packet sent to the server was 16 ms ago.
SQLState: 08S01
VendorError: 0
0
bricecoq Messages postés 4 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 11 juillet 2006
11 juil. 2006 à 12:41
Youpi ca marche enfin !!!

J'ai rajouté
bind-address=127.0.0.1
dans le fichier my.cnf

(et le reste je m'en rappelle plus)
Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sikou100 Messages postés 37 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 18 mai 2012
3 avril 2008 à 12:12
salut, je suis un etudiant j'avais un projet quie demande une application java pour se connecter a une base de donnée mysql sous linux(fedora core 7)
j'ai ecrit ce petit code
************************code java*******************
package base;

import java.sql.*;

public class TestJDBC1 {

   private static void affiche(String message) {
      System.out.println(message);
   }

   private static void arret(String message) {
      System.err.println(message);
      System.exit(99);
   }

   public static void main(java.lang.String[] args) {
      Connection con = null;
      ResultSet résultats = null;
      String requete = "";

      // chargement du pilote

      try {
         Class.forName("com.mysql.jdbc.Driver").newInstance();
      } catch (Exception e) {
         arret("Impossible de charger le pilote jdbc:odbc");
      }

      //connection a la base de données

      affiche("connection a la base de données");
      try {

         String DBurl = "jdbc:mysql://localhost:8181/testDB";//ou 3306  pour le port
         con = DriverManager.getConnection(DBurl);
      } catch (SQLException e) {
         arret("Connection à la base de données impossible");
      }

      //insertion d'un enregistrement dans la table client

      affiche("creation enregistrement");

      requete = "INSERT INTO testDB VALUES (3,'client 3','client 4')";
      try {
         Statement stmt = con.createStatement();
         int nbMaj = stmt.executeUpdate(requete);
         affiche("nb mise a jour = "+nbMaj);
      } catch (SQLException e) {
          e.printStackTrace();
      }

      //creation et execution de la requete

      affiche("creation et execution de la requête");
      requete = "SELECT * FROM testDB";

      try {
         Statement stmt = con.createStatement();
         résultats = stmt.executeQuery(requete);
      } catch (SQLException e) {
         arret("Anomalie lors de l'execution de la requête");
      }

      //parcours des données retournées

      affiche("parcours des données retournées");
      try {
         ResultSetMetaData rsmd = résultats.getMetaData();
         int nbCols = rsmd.getColumnCount();
         boolean encore = résultats.next();

         while (encore) {

            for (int i = 1; i <= nbCols; i++)
               System.out.print(résultats.getString(i) + " ");
            System.out.println();
            encore = résultats.next();
         }

         résultats.close();
      } catch (SQLException e) {
         arret(e.getMessage());
      }

      affiche("fin du programme");
      System.exit(0);
   }
}
***************fin code source*******************
bien j'ai la base testDB et la table client
mais en executant le code j'ai l'erreur suivant
*************erreur************
init:
deps-jar:
Compiling 1 source file to /root/base/build/classes
compile:
run:
Impossible de charger le pilote jdbc:odbc
Java Result: 99
BUILD SUCCESSFUL (total time: 0 seconds)
*******fin erreur*****
mon plate forme de developpement jeve est netbeans 6.0.1

svp aider mois tres vite et me rende la reponce  comment installer le driver convanable et ou je le place et comment configurr la CLASSPATH   svp expliquer moi bien de A jusqu'a Z
et mercie d'avance

******c'est Sekrafi Lazhar de tunisie *******






<hr size="1" />
Envoyé avec http://us.rd.yahoo.com/evt=52424/*http://fr.docs.yahoo.com/mail/overview/index.html' target='_blank'>Yahoo! Mail.
Plus de moyens pour rester en contact.
0
cs_sikou100 Messages postés 37 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 18 mai 2012
3 avril 2008 à 12:17
je suis besoins de ca tres vite svp si quelqu'un sait comment faire me rappelle tres vite Meeeeeeeeeeeeeeeeerci
0
zikohalim Messages postés 1 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 28 novembre 2008
28 nov. 2008 à 02:04
La réponse n'est trop vite comme tu voulait SIKOU ; mais bon ca peut aider d'autres personnes
1) tu doit télécharger le pilote de connexion ( mysql-connector-java):http://dev.mysql.com/downloads
2) ensuite un click droit sur ton projet : Properties ->Libraries->Add JAR/Folder ->ensuite ajoute ton driver ( qui est un jar)->ok;
3) j'éspére que ca marche
   
0
Rejoignez-nous