Connexion à BDD mysql en java

Fermé
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 - 31 janv. 2013 à 22:45
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 - 1 févr. 2013 à 21:31
Bonjour,
je suis débutant en java, je veux se connecter à une base de données mysql à l'aide d'un code java (ci-dessous), mais le compilateur (Eclipse) signal un erreur dans la ligne " Class.forName("com.mysql.jdbc.Driver"); "

import java.sql.*;
import javax.sql.*;

public class Test {

public static void main(String[] args) {

String dbtime;
String dbUrl = "jdbc:mysql://localhost/ma_bdd";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM client";

try {

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
}

con.close();
}

catch(ClassNotFoundException e) {
e.printStackTrace();
}

catch(SQLException e) {
e.printStackTrace();
}


}


j'ai lu un tutoriel qui demande de mettre le le pilote dans le CLASPATH du projet, voila le son contenu :


<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="output" path="bin"/>
</classpath>



Le pilote que j'ai télécharger est nommé "mysql-connector-java-5.1.2" sachant que j'ai la version mysql "5.1.54".
Veulliez m'aider à résoudre ce problème et merci d'avance ^^
A voir également:

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 janv. 2013 à 23:03
le compilateur (Eclipse) signal un erreur dans la ligne Class.forName("com.mysql.jdbc.Driver");

Attention, à ne pas tout mélanger, Eclipse n'est pas un compilateur, et l'erreur que tu as n'es pas non plus une erreur de compilation, car ce code compile très bien.

En revanche tu peux avoir des erreurs d'exécution, mais il faudrait que tu nous indique lesquelles, on ne va pas les deviner... Tu peux aussi regarder dans la documentation les explications des erreurs et exceptions attendues :

LinkageError - if the linkage fails
ExceptionInInitializerError - if the initialization provoked by this method fails
ClassNotFoundException- if the class cannot be located

Enfin, tu peux regarder la FAQ JDBC...

PS. Vu que tu as trouvé le bouton <gras>, regarde ceux d'à côté, il y a <code> aussi, ce sera bien mieux pour conserver l'indentation de ton code !
1
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
1 févr. 2013 à 00:44
Tjr KX ^^, je c pas comment vous remercier, c'est très gentil de votre part :)
Merci tout d'abord pour toutes ces clarifications, je les prends en considération.
Mais reste un pb :/ J'ai cherché même dans FAQ JDBC, dommage, il n'est pas signalé comment intégrer (ou déclarer) le pilote mysql dans CLASPATH , est-ce que vs pouvez me dire comment faire ça SVP, car je suis bloqué :/
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 févr. 2013 à 04:53
1) Je remarque que tu ne dis toujours pas quelle est le type d'erreur que tu as !

2) Tu ne développe pas avec les dernières versions, tu devrais penser à te mettre à jour avec :
a) Java SE 1.7.11
b) Eclipse 4.2
c) mysql-connector-java-5.1.22

3) Modifier le .classpath à la main est déconseillé, tu peux tout faire depuis l'interface.
Project > Properties > Java Build Path > Add External JARs > mysql-connector-java-5.1.22-bin.jar
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
1 févr. 2013 à 12:55
Oook ^^ :) Merci KX, je vais faire ce que vous dites, mais concernant Eclipse, est-ce qu'on peut le considérer comme logiciel, éditeur .. ou quoi exactement !!?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 févr. 2013 à 16:41
Eclipse est un IDE : environnement de développement intégré.
Actuellement tu travailles sur Java 6, alors ne sais pas trop quelle version d'Eclipse tu as, mais si tu as une trop ancienne version il ne supportera pas Java 7, dans ce cas il faudra aussi mettre à jour Eclipse (d'un point de vue général, tous les logiciels qui accèdent à internet devraient être à jour pour éviter qu'ils ne soient vulnérables à des attaques extérieures)
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
1 févr. 2013 à 20:47
Merci ^^, mais comment le mettre à jour, je trouve pas une option UPDATe, et dsl pr trop de question :/
0
jihedbond Messages postés 48 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 30 décembre 2013 1
1 févr. 2013 à 08:58
tout ce qui manque c'est de télécharger le driver mysql pour java et l'ajouter à votre projet

veuillez consulter se tutoriel

http://jihedgeek.blogspot.com/2013/01/connection-mysql-en-java-via-un-driver.html

bon courage
1
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
1 févr. 2013 à 12:52
Merciiiiiiiii jihedbond ^^ c'est b1 maintenant :) pour le pilote.
Mais :/ un autre erreur !! concernant la ligne :

 Connection con = DriverManager.getConnection(dbUrl);


qu'Eclipse le signale,......... même si, je l'ai remplacer par:

Connection con = DriverManager.getConnection(dbUrl,"root"," ");
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
1 févr. 2013 à 12:58
l'erreur signalé est:
java.sql.SQLException: Accès refusé pour l'utilisateur: ''@'@localhost' (mot de passe: NON) ...
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 févr. 2013 à 16:42
Je ne sais pas si on peux utiliser "root" dans ce contexte, mais son mot de passe n'est certainement pas " "
0
amine_marc Messages postés 256 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 avril 2016 2
1 févr. 2013 à 20:00
oui, j'ai déjà programmer par PHP/mysql, pr faire une connexion avec une bdd mysql on utilise les paramètres suivants: "localhost", "root", ""
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 févr. 2013 à 20:14
"" ou " " ? Il faut être sûr du mot de passe...
0