Jdbc no suitable driver
amina
-
mehdi_boussarhane Messages postés 89 Statut Membre -
mehdi_boussarhane Messages postés 89 Statut Membre -
Bonsoir
j ai cree ma base de donnees ds MySql en utilisant EasyPhp,j essaie d ouvrir 1 connexion avec cette base en utilisant Java sous JBuilder.
Le prob est que l execution du code me donne toujours le message
java.sql.SQLException : No Suitable Driver
sachant que j ai utilise trois drivers aucun d eux ne marche :
org.gjt.mm.mysql.Driver
sun.jdbc.odbc.JdbcOdbcDriver
com.mysql.jdbc.Driver
merci pr tout conseil
j ai cree ma base de donnees ds MySql en utilisant EasyPhp,j essaie d ouvrir 1 connexion avec cette base en utilisant Java sous JBuilder.
Le prob est que l execution du code me donne toujours le message
java.sql.SQLException : No Suitable Driver
sachant que j ai utilise trois drivers aucun d eux ne marche :
org.gjt.mm.mysql.Driver
sun.jdbc.odbc.JdbcOdbcDriver
com.mysql.jdbc.Driver
merci pr tout conseil
5 réponses
-
bonjour veuillez respecter l'orde url login, pwd sur
Connection con = DriverManager.getConnection(url,login,password) -
avec les IDE comme JBuilder il faut d'abord leur donner le chemin
du driver, si tu as fé cela donne ton code et on verra!-
bonsoir b.d
j'ai pa su comment continuer la discussion,donc je t'ai repondu
je n'ai pas compri ce que tu veu dire par donner le chemin?
-J'ai declaré la variable CLASSPATH et j'y ai mise le chemin du fichier .jar
-J'ai aussi mis le fichier .jar dans le repertoir lib de JBuilder
et
-J'ai configuré la bibliotheque dans JBuilder
voilci mon code
package amina;
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import org.gjt.mm.mysql.Driver;
import java.util.*;
import javax.sql.*;
import java.io.*;
public class Frame1 extends JFrame {
static Connection connection;
public Frame1() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception { }
public static void main(String[] args)
{
String driver ="org.gjt.mm.mysql.Driver";
String url="jdbc/mysql://localhost/Entreprise?user=root;password=allaho";
String login = "root";
String password="allaho";
try
{
//chargement du Driver :)
Class.forName(driver).newInstance();
Enumeration e = DriverManager.getDrivers();
System.out.println(e.nextElement().getClass().getName());
//Etablissement de la connexion
Connection connection = DriverManager.getConnection(url,login,password);
}
catch (ClassNotFoundException cnfe)
{
System.out.println("Driver introuvable : ");
cnfe.printStackTrace();
}
catch(SQLException sqle)
{
System.out.println("Erreur SQL :");
sqle.printStackTrace();
}
catch (Exception e)
{
System.out.println("Autre erreur :");
e.printStackTrace();
}
finally
{
//cf Comment bien fermer une connexion
if(connection!=null)
{
try{connection.close();}
catch(Exception e)
{e.printStackTrace();}
}
}
}
}
A l'execution il me donne
java.sql.SQLException: No suitable driver
com.mysql.jdbc.Driver
Erreur SQL : at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at amina.Frame1.main(Frame1.java:41)
Sachant que j'ai supprimé tous les details concernant le driver
com.mysql.jdbc.Driver
merci bien -
Bonjour amina,
Je viens de tomber sur ce forum et je découvre ton message. Comme ca va faire 2 mois que tu as posté, j'espère que tu as trouvé une (la ?) solution à ton problème. Si ce n'est pas le cas, peut-être ceci marchera-t-il (je travaille sous Eclipse mais je pense que ca ne change pas ;) )
Dans ton programme, tu écris :
jdbc/mysql://localhost/Entreprise?user=root;password=allaho";
Or il me semble que la syntaxe est jdbc:mysql://localhost.....
Pour ma part, j'utilise la syntaxe
DriverManager.getConnection("jdbc:mysql://localhost...", utilisateur, motPasse)
mais il me semble que la tienne est aussi valable.
J'avais un problème qui renvoyait le même message que le tien et c'était le // qui manquait devant localhost. Ce qui prouve bien que "no suitable driver" n'est pas toujours une question de driver.
J'espère donc que remplacer ton / par : sera la solution qui marchera pour toi.
Bon courage -
-
Personnellement j'ai eu le même problème que toi mais localisé un tout petit peu plus loin, c'est dans le même style alors je répond ici :
DriverManager.getConnection("jdbc:mysql://***.***.***.***/","user","password");
Il manquait la barre oblique (slash) à la fin de l'adresse IP.
Un super message d'erreur à s'arracher les cheveux pour pas grand chose ! -
Moi j'ai encore le même problème mais je ne peux pas tester ta méthode puisque j'utilise le driver par défaut (je ne sais pas ou sont localisés les drivers en dur mais ça faut pas le dire ;-))
Voici mon code :
java.sql.Connection con = null;
java.sql.PreparedStatement pstmt = null;
try {
con = java.sql.DriverManager.getConnection("jdbc:default:connection");
String edit = e.getPage().getParameter("edit").toString();
String matnm = DBTools.convertToString( DBTools.dLookUp("[cd mat nm]", "[m 4 nomenclature]", "[libellé identification]like'"+e.getPage().getParameter("old").toString()+"%'", "Connection1"), "Connection1", e.getPage().getCCSLocale());
pstmt = con.prepareStatement("UPDATE [m 4 nomenclature] SET [libellé identification] = "+edit+"[cd mat nm] = "+matnm);
pstmt.executeUpdate();
}catch(Exception x){
System.out.println("Une exception s'est produite !" + x.getMessage());
System.out.println("Affichage de la pile :\n"); x.printStackTrace();
}finally{ if(pstmt!=null){ try{pstmt.close();}catch(java.sql.SQLException ex){ex.printStackTrace();} } }
et voici l'exception que j'ai sur la console du server :
[STDOUT] DriverManager.getConnection("jdbc:default:connection")
[STDOUT] trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@f9104a]
[STDOUT] *Driver.connect (jdbc:default:connection)
[STDOUT] trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@19c9f16]
[STDOUT] *Driver.connect (jdbc:default:connection)
[STDOUT] trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@79ac92]
[STDOUT] *Driver.connect (jdbc:default:connection)
[STDOUT] trying driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@4de3fe]
[STDOUT] trying driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@1b35ece]
[STDOUT] trying driver[className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@15b4b49]
[STDOUT] *Driver.connect (jdbc:default:connection)
[STDOUT] getConnection: no suitable driver
[STDOUT] java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at org.apache.jsp.MaPage_jsp$MaPagePageHandler.beforeShow(MaPage_jsp.java:60)
at com.codecharge.components.Page.fireBeforeShowEvent(Page.java:614)
at org.apache.jsp.MaPage_jsp._jspService(MaPage_jsp.java:1429)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)
SQLException: SQLState(08001)
[STDOUT] Une exception s'est produite !No suitable driver
[STDOUT] Affichage de la pile :
[STDERR] java.sql.SQLException: No suitable driver
[STDERR] at java.sql.DriverManager.getConnection(DriverManager.java:532)
[STDERR] at java.sql.DriverManager.getConnection(DriverManager.java:193)
[STDERR] at org.apache.jsp.MaPage_jsp$MaPagePageHandler.beforeShow(MaPage_jsp.java:60)
[STDERR] at com.codecharge.components.Page.fireBeforeShowEvent(Page.java:614)
[STDERR] at org.apache.jsp.MaPage_jsp._jspService(MaPage_jsp.java:1429)
[STDERR] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
[STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[STDERR] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
[STDERR] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
[STDERR] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
[STDOUT] ResultSet.finalize sun.jdbc.odbc.JdbcOdbcResultSet@53b2c
[STDOUT] Statement.finalize sun.jdbc.odbc.JdbcOdbcPreparedStatement@5354a
[STDOUT] *PreparedStatement.close
[STDOUT] ResultSet.finalize sun.jdbc.odbc.JdbcOdbcResultSet@16ff2d9
[STDOUT] Statement.finalize sun.jdbc.odbc.JdbcOdbcPreparedStatement@1ed957d
[STDOUT] *PreparedStatement.close
[STDOUT] ResultSet.finalize sun.jdbc.odbc.JdbcOdbcResultSet@b0a518
[STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
[STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
[STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
[STDERR] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
[STDERR] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
[STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
[STDERR] at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
[STDERR] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
[STDERR] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
[STDERR] at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
[STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
[STDERR] at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
[STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
[STDERR] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
[STDERR] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
[STDERR] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
[STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
[STDERR] at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
[STDERR] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
[STDERR] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
[STDERR] at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
[STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
[STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
[STDERR] at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
[STDERR] at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
[STDERR] at java.lang.Thread.run(Thread.java:536)
J'ai oblié de dire que j'utilise une bas Access avec un server Jboss Tomcat
-
-
salut,
j'ai un prob pour ce qui concerne la connexion avec jdbc;
je souhaite me connecter à une base Sql et j'ai le message d'erreur suivant :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)erreur en classefornamejava.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.lang.Class.forName(Class.java:140)
at gestionclients.Client.main(Client.java:82)
erreur en connex:java.sql.SQLException: No suitable driver
voici le code!
String DBURL="jdbc:microsoft:sqlserver:hostname:3306;"+"DatabaseName=GestionClients1";
String strClassName="com.mysql.jdbc.Driver";
String User="";
String PasseWord="";
String database="GestionClients1";
try
{
Class.forName(strClassName);
}
catch(ClassNotFoundException c)
{
System.out.println("erreur en classeforname"+c);
c.printStackTrace();
}
try
{
Connection C=java.sql.DriverManager.getConnection(DBURL);
Statement S=C.createStatement();
ResultSet R=S.executeQuery("select * from client");
while(R.next())
{
System.out.println("Code : "+R.getString("code_client"));
System.out.println("Nom : "+R.getString("nom"));
System.out.println("Prenom : "+R.getString("prenom"));
System.out.println("CA : "+R.getFloat("ca"));
System.out.println("Catégorie : "+R.getString("code_categorie"));
}
S.close();
}
catch(SQLException s)
{
System.out.println("srreur en connex:"+s);
}
} -
Hum... J'ai l'impression que tu utilises un Driver de mysql alors que ta base de données est une base SqlServer. Je me trompe ? Si c'est le cas, cherche le driver de SqlServer et met le à la place de ton strClassName. Sinon, tu es sûr que tes identifiants de connexion sont "" en User et "" en password ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
le .jar que t'as ajouté à votre projet ne correspond pas au syntaxe du
Class.forName("nom_de_la_classe_qui_doit_etre_chargé")