Aller au contenu

pb connexion jdbc


jakol

Messages recommandés

salut, je me casse la tête pour faire un prog java en utilisant jdbc....j'ai essayé de le faire avec MySQL et avec jdbc-odbc( j'ai crée la base dans access et déclaré la base dans source de donnée....résultat, lors de l'éxecution, il ya "not suitable driver"...

je ne comprends et je ne vois pas comment résoudre ce pb...est-ce que vous pouvez me dépanner svp? :chinois:

Lien vers le commentaire
Partager sur d’autres sites

Quelque soit le type de base, il te faut donner un driver ...

import java.sql.*;

import javax.swing.*;

public class Database {

        //contructeur de la classe Database

    public Database(String url, String user, String pass, String driver)

    {

        try

        {

            Class.forName(driver).newInstance();

            this.url = url;

            this.user = user;

            this.pass = pass;

        }

        catch (Exception e)

        {

            System.out.println("Levée d'exception: " + e);

            //JOptionPane.showInternalMessageDialog(null,e,"Erreur", JOptionPane.ERROR_MESSAGE);

        }

               

    }

   

        //requete d'update

    public void update(String requete)

    {

        try

        {

            if ( Connect() == true)

            {

                System.out.println ("Exécution de la requète avec retour ...");

                statement.executeQuery(requete);

                System.out.println ("Requète exécutée");

                Disconnect();

            }

            else

            {

                System.out.println ("Exécution de la requète impossible");

            }

        }

        catch (Exception e)

        {

            System.out.println("Levée d'exception: " + e);

        }

        /*

        try

        {

            Connection connection = DriverManager.getConnection(url,user,pass);

            Statement statement = connection.createStatement();

            statement.executeQuery(requete);

        }

        catch (Exception e)

        {

            System.out.println("Levée d'exception: " + e);

        }*/

    }

   

    public ResultSet request(String requete)

    {

        ResultSet result = null;

        try

        {

            if ( Connect() == true)

            {

                System.out.println ("Exécution de la requète avec retour ...");

                result = statement.executeQuery(requete);

                System.out.println ("Requète exécutée");

                //Disconnect();

            }

            else

            {

                System.out.println ("Exécution de la requète impossible");

            }

        }

        catch (Exception e)

        {

            System.out.println("Levée d'exception: " + e);

        }

        return (result);

    }  //fin de request

   

    /**méthode permettant la connection à la BDD*/

    private boolean Connect() {

        try

        {

            connection = DriverManager.getConnection(url,user,pass);

            statement = connection.createStatement();

           

            return (true);

        }

        catch(Exception e)

        {

            System.out.println("Levée d'exception: " + e);

            return (false);

        }

    }  //fin de connect

   

    /**méthode permettant de tester la connection à la BDD à la création*/

    public boolean Test_connection() {

        try

        {

            if (Connect() == true)

            {

                System.out.println("Connection établie");

                //statement.executeQuery("mysql_close()");

                Disconnect();

                System.out.println("Test de connection OK!");

                return (true);

            }

            else

                return (false);

        }

        catch(Exception e)

        {

            System.out.println("Levée d'exception: " + e);

            return (false);

        }

       

    }

   

    /**Déconnection de la base de données après requète*/

    public void Disconnect() {

        try

        {

            connection.close();

            statement.close();

        }

        catch(Exception e)

        {

            System.out.println("Levée d'exception: " + e);

        }

    }   

   

   

    private String url, user, pass;

    private Connection connection;

    private Statement statement;

   

}

J'ai développé cette classe qui permet de se connecter à presque toutes les bases: j'ai po eu l'occasion de tout tester non plus...

Si tu attaques une base Access, le paramètre "driver" du constructeur est "sun.jdbc.odbc.JdbcOdbcDriver" et l'url est "jdbc:odbc:mabase".

Pour mysql, le paramètre "driver" du constructeur est "org.gjt.mm.mysql.Driver" et l'url est "jdbc:mysql://localhost/mabase".

Dans le cas de mysql, il te faudra télécharger le driver. Par contre, je n'ai plus l'adresse ...

Lien vers le commentaire
Partager sur d’autres sites

juste une précision par rapport à la réponse de jacol.

Jakol tu trouveras les drivers sous forme d'archive .jar, il s'agit d'un ensemble de classes qui implémentent la couche JDBC pour accéder à la base de donnée. Pour que le driver soit reconnu, même si tu connais bien les paramètres d'initialisation JDBC, il faut bien entendu que ce jar soit ajouté dans ton classpath.

Lien vers le commentaire
Partager sur d’autres sites

salut ,

merci pour les conseils....mais j'ai rendu accessible odbc (pour access)

j'avais déjà presque tout fait sauf ce fichier jar ...

je pensais qu'en utilisant NetBeans....on avait pas besoins de se coltiner tous les chemins (javac -classpath.......machin.java)

bon je vais encore essayer

A+ :yes:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...