Jdbc no suitable driver [Fermé]

Signaler
-
Messages postés
50
Date d'inscription
dimanche 23 novembre 2008
Statut
Membre
Dernière intervention
15 janvier 2012
-
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
A voir également:

5 réponses

bonjour veuillez respecter l'orde url login, pwd sur
Connection con = DriverManager.getConnection(url,login,password)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
31
Date d'inscription
vendredi 22 juillet 2005
Statut
Membre
Dernière intervention
18 janvier 2006
10
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!
> amina
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
> macgic
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 !
> amina
macgic?ok, ca va faire plus d'un an que tu n'as pas posté sur cette discussion, mais ta solution m'a permis d'arranger un problème vite fait bien fait chez moi.

t'es un amour. ;oD


arn.
> amina
Bonjour amina, je m'appelle oualid et j'ai un probléme en java.
je souhaite me connecter à une base oracle et j'ai le message d'erreur suivant :

Erreur SQL : java.sql.SQLException: No suitable driver

peux tu m'aider. BARA.OUFIK
voici mon code :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;

public class Test1 {

public Test1() {
try {
// Chargement du pilote JDBC
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Class.forName("oracle.jdbc.driver.OracleDriver");
// URL de connexion
String url = "jdbc:oracle:thin://localhost:1521:oualid3";
// LOGIN de connexion
String login = "system";
// PASSWORD de connexion
String password = "oualid";
// Connexion
Connection con = DriverManager.getConnection(url,login,password);



// Création d'une instruction
Statement statement = con.createStatement();
// Exécution d'une requete
String query = "SELECT nom, profession FROM caracteristique";
ResultSet resultset = statement.executeQuery(query);
// Traitement des résultats
while(resultset.next()) {
//System.out.println(resultset.getString(2) + " " + resultset.getString(3));
System.out.println(resultset.getString(1) + " " + resultset.getString(2));
}
// fermeture de la connexion
con.close();
}
catch( ClassNotFoundException e) {
System.err.println("Erreur lors du chargement du pilote : " + e);
}
catch(SQLException sqle) {
System.err.print("Erreur SQL : " + sqle);
}
}
public static void main(String[] args) {
Test1 test = new Test1();
}
}
Messages postés
351
Date d'inscription
vendredi 16 février 2007
Statut
Membre
Dernière intervention
5 novembre 2020
77
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);
}
}
Messages postés
113
Date d'inscription
jeudi 8 novembre 2007
Statut
Membre
Dernière intervention
17 décembre 2007
46
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 ?
Messages postés
50
Date d'inscription
dimanche 23 novembre 2008
Statut
Membre
Dernière intervention
15 janvier 2012
12
le .jar que t'as ajouté à votre projet ne correspond pas au syntaxe du
Class.forName("nom_de_la_classe_qui_doit_etre_chargé")