A voir également:
- Problème connection base de données avec ecli
- Gmail connection - Guide
- Formules excel de base - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Base de registre - Guide
- Reinstaller windows sans perte de données - Guide
7 réponses
Soit le jar n'est pas dans le classpath, soit ce n'est pas une bonne version. c'est bien cette lib qui contient le driver mysql par contre.
Code de la connection ?
version du jdk ?
environnement de dev ?
Code de la connection ?
version du jdk ?
environnement de dev ?
Med_mt
Messages postés
12
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
16 mai 2010
5 févr. 2009 à 15:16
5 févr. 2009 à 15:16
Je travaille avec eclipse RCP , jdk 1.6.
lib: mysql-connector-java-5.0.4-bin
Voici le code:
public ConnectionBD(){}
public void init(){
try{
Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
dbCon=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3305/personne","root","salma");
}
catch(Exception e){
System.out.println("Failed to get connection");
e.printStackTrace();
}
}
mon problème c'est que j'ai ajouté la lib, elle apparait comme referenced libraries.
Merci bien.
lib: mysql-connector-java-5.0.4-bin
Voici le code:
public ConnectionBD(){}
public void init(){
try{
Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
dbCon=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3305/personne","root","salma");
}
catch(Exception e){
System.out.println("Failed to get connection");
e.printStackTrace();
}
}
mon problème c'est que j'ai ajouté la lib, elle apparait comme referenced libraries.
Merci bien.
Hmm comme ça là je ne vois pas l'erreur. j'avoue que ça fait des années que je n'ai pas utilisé JDBC tel quel, encore plus avec mysql.
Ta philosophie est bonne (https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html après, la façon d'enregistrer le driver dépends des implémentation.
La doc de ton connecteur se trouve ici :
http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html
Tu peux essayer plusieurs chose :
- retelecharger le driver : https://cdn.mysql.com//archives/mysql-connector-java-5.1/mysql-connector-java-5.1.7.zip
- changer d'implementation pr le connecteur (je ne sais pas si il en existe d'autre)
- clean le projet sous eclipse (parfois, qd ça bugge, un simple recompilation suffit)
Je ne connais pas RCP, je sais que c'est une solution java-SWT pour faire du client lourd (le projet eclipse est basé dessus) mais pour moi ce n'est pas un IDE (comme eclipse ou netBean). je suppose donc que tu es sous eclipse.
Si c'est le cas essaye de voir si tu as vraiment la classe com.mysql.jdbc.Driver visible en faisant ctrl-shift-t (ouvrir un Type) et en tapant "Driver'. Si tu vois bien la classe je ne sais pas d'ou vient ton pb.
Si tu n'y arrive tjs pas, refait un post je dois avoir des sources d'une appli se connectant à mysql qqpart j'essaierai de remettre la main dessus.
Bonne chance.
Ta philosophie est bonne (https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html après, la façon d'enregistrer le driver dépends des implémentation.
La doc de ton connecteur se trouve ici :
http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html
Tu peux essayer plusieurs chose :
- retelecharger le driver : https://cdn.mysql.com//archives/mysql-connector-java-5.1/mysql-connector-java-5.1.7.zip
- changer d'implementation pr le connecteur (je ne sais pas si il en existe d'autre)
- clean le projet sous eclipse (parfois, qd ça bugge, un simple recompilation suffit)
Je ne connais pas RCP, je sais que c'est une solution java-SWT pour faire du client lourd (le projet eclipse est basé dessus) mais pour moi ce n'est pas un IDE (comme eclipse ou netBean). je suppose donc que tu es sous eclipse.
Si c'est le cas essaye de voir si tu as vraiment la classe com.mysql.jdbc.Driver visible en faisant ctrl-shift-t (ouvrir un Type) et en tapant "Driver'. Si tu vois bien la classe je ne sais pas d'ou vient ton pb.
Si tu n'y arrive tjs pas, refait un post je dois avoir des sources d'une appli se connectant à mysql qqpart j'essaierai de remettre la main dessus.
Bonne chance.
Med_mt
Messages postés
12
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
16 mai 2010
5 févr. 2009 à 16:56
5 févr. 2009 à 16:56
j'ai téléchargé encore une fois le fichier .jar de la connection, le poblème persiste. et quand je fais ctrl+shift+t, le driver apparaît. c'est bizarre
le driver apparaît c'est à dire cette implémentation précise "com.mysql.jdbc.Driver" ?
Ton IDE est bien éclipse ?
Comment lance tu ton programme (via l'IDE) ou tu génère un binaire que tu exécute à part ?
Normalement ton erreur est typique de pb de classPath sauf que si le jar apparait bien dans referenced library et que exécute ton Main dans eclipse il n'y à aucune raison qu'il ne trouve pas la classe.
Il y à quelque-chose qui doit m'échapper dans ta config mais je ne vois pas quoi. Normalement c'est une opération simple qui ne pose pas de problème.
J'essaie de trouver ces sources
Ton IDE est bien éclipse ?
Comment lance tu ton programme (via l'IDE) ou tu génère un binaire que tu exécute à part ?
Normalement ton erreur est typique de pb de classPath sauf que si le jar apparait bien dans referenced library et que exécute ton Main dans eclipse il n'y à aucune raison qu'il ne trouve pas la classe.
Il y à quelque-chose qui doit m'échapper dans ta config mais je ne vois pas quoi. Normalement c'est une opération simple qui ne pose pas de problème.
J'essaie de trouver ces sources
Pas de différence avec ton code c'est donc bien un pb de config , j'utilise le même driver, à priori donc le même
connecteur. (je n'ai que les sources pas de lib ni classpath - rien à en tirer donc)
// chargement du driver de connection a la base de donnee
Class.forName("com.mysql.jdbc.Driver").newInstance();
// connection
final String URL = "jdbc:mysql://localhost/bd0?user=root&password=root";
final Connection cx = DriverManager.getConnection(URL);
connecteur. (je n'ai que les sources pas de lib ni classpath - rien à en tirer donc)
// chargement du driver de connection a la base de donnee
Class.forName("com.mysql.jdbc.Driver").newInstance();
// connection
final String URL = "jdbc:mysql://localhost/bd0?user=root&password=root";
final Connection cx = DriverManager.getConnection(URL);
Med_mt
Messages postés
12
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
16 mai 2010
5 févr. 2009 à 19:19
5 févr. 2009 à 19:19
merci bcp mon problème est résolu quand j'ai ajouter le .jar dans classpath(onglet runtime dans MANIFEST.MF)
merci pour vos réponses
merci pour vos réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il faut intégrer la librairie en tant que "plug-in", c'est le bundling.
(cf paragraphe 10.1 du livre Eclipse Rich Client Platform)
1) Créer un plug-in à partir du fichier jar
File -> New -> Project.. -> Plug-in Development -> Plug-in from existing JAR archives
Cliquer sur Add External et sélection le ".jar"
2) Dans la fenêtre wizard mettre une id format eclipse "com.mysql.jdbc", saisir la version, un nom comme "MySQLJDBC" et le fournisseur "Sun" par exemple.
Laisser l'option Unzip th JAR cochée.
Cliquer sur Finish.
3) Dans le projet RCP dans la page Dependencies de l'éditeur de plug-in ajouter votre nouveau plug-in à la liste
Eclipse se charge automatiquement de gérer le "classpath"
(cf paragraphe 10.1 du livre Eclipse Rich Client Platform)
1) Créer un plug-in à partir du fichier jar
File -> New -> Project.. -> Plug-in Development -> Plug-in from existing JAR archives
Cliquer sur Add External et sélection le ".jar"
2) Dans la fenêtre wizard mettre une id format eclipse "com.mysql.jdbc", saisir la version, un nom comme "MySQLJDBC" et le fournisseur "Sun" par exemple.
Laisser l'option Unzip th JAR cochée.
Cliquer sur Finish.
3) Dans le projet RCP dans la page Dependencies de l'éditeur de plug-in ajouter votre nouveau plug-in à la liste
Eclipse se charge automatiquement de gérer le "classpath"
Bonjour,
J'ai exactement le même problème :
Sous eclipse "Java EE IDE",je créé un projet Web dynamique.
Page.jsp avec le contenu suivant :
J'utilise le un serveur Tomcat en local pour le déploiement du projet.
Pour la base, j'utilise Wamp 5, il est lancé et j'ai créé une bdd "javadb" avec une table personne d'une seule colonne "nom".
Dans mon build path my-sql-connector est bien ajouté.
Ce qui me rend fou c'est que j'ai repris le même code, la même base dans un projet java "standard' qui n'est pas un projet JAVA dynamique : L'insertion en base fonctionne !!!
Ca fait plusieurs heures que je cherche une solution, j'ai même essayé de déployer le .war (en cochant toutes les librairies à l'export dans eclipse) via l'interface tomcat pesnant qu'il manquait peut être le my-sql-connector sur le serveur... => même résultat... :'(
Pour information, voilà l'erreur :
févr. 18, 2012 12:46:03 AM org.apache.catalina.core.StandardWrapperValve invoke
Grave: "Servlet.service()" pour la servlet jsp a généré une exception
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
....
C'est bien la commande "Class.forname" qui pose problème.
J'imagine que la réponse précédente fonctionne mais je ne comprends pas très bien ce qu'il faut faire : ou est la page dependencies ? Ou est l'éditeur de plug-in?
Merci d'avance !!
J'ai exactement le même problème :
Sous eclipse "Java EE IDE",je créé un projet Web dynamique.
Page.jsp avec le contenu suivant :
J'utilise le un serveur Tomcat en local pour le déploiement du projet.
Pour la base, j'utilise Wamp 5, il est lancé et j'ai créé une bdd "javadb" avec une table personne d'une seule colonne "nom".
Dans mon build path my-sql-connector est bien ajouté.
Ce qui me rend fou c'est que j'ai repris le même code, la même base dans un projet java "standard' qui n'est pas un projet JAVA dynamique : L'insertion en base fonctionne !!!
Ca fait plusieurs heures que je cherche une solution, j'ai même essayé de déployer le .war (en cochant toutes les librairies à l'export dans eclipse) via l'interface tomcat pesnant qu'il manquait peut être le my-sql-connector sur le serveur... => même résultat... :'(
Pour information, voilà l'erreur :
févr. 18, 2012 12:46:03 AM org.apache.catalina.core.StandardWrapperValve invoke
Grave: "Servlet.service()" pour la servlet jsp a généré une exception
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
....
C'est bien la commande "Class.forname" qui pose problème.
J'imagine que la réponse précédente fonctionne mais je ne comprends pas très bien ce qu'il faut faire : ou est la page dependencies ? Ou est l'éditeur de plug-in?
Merci d'avance !!