Rechercher : dans
Par :

Jdbc no suitable driver

Dernière réponse le 14 déc 2007 à 10:39:16 amina, le 7 aoû 2005 à 17:26:19 
 Signaler ce message aux modérateurs

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

1

b.d, le 8 aoû 2005 à 18:09:52

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!

Répondre à b.d

2

amina, le 8 aoû 2005 à 20:19:06

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

Répondre à amina

3

macgic, le 28 sep 2005 à 12:37:05

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

Répondre à macgic

5

Sha, le 30 jan 2007 à 16:14:28

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 !

Répondre à Sha

4

ajmah, le 6 déc 2006 à 21:35:49

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.

Répondre à ajmah

7

oualid, le 24 mai 2007 à 11:31:42

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();
}
}

Répondre à oualid

6

fady005, le 26 avr 2007 à 09:48:46

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

Répondre à fady005

8

naoual, le 14 déc 2007 à 00:27:16

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);
}
}

Répondre à naoual

9

 Mycki, le 14 déc 2007 à 10:39:16

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 ?
Nécessairement, le hasard a beaucoup de pouvoir sur nous, puisque c'est par hasard que nous vivons.

Répondre à Mycki
Collection CommentÇaMarche.net