[ALG 3ir] TD4

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ALG 3ir] TD4

Message  Nicky le Sam 03 Déc 2011, 16:41

Bien le bonjour,

Comment ca java?

J'ai une soucis avec ce TD au niveau de la connection a ma BD.
Ceci marcher nikel !
Code:
    public static void main(String[] args) {
        // TODO code application logic here
        con();
       
    }
   
    public static void con(){
        try {
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Anagramme","root",null);
            Statement stmt= con.createStatement();
            //ResultSet rs =stmt.executeQuery("SELECT * FROM *;");
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(Tets.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Avec la librairie MySQL JDBC Driver. Ca roule.

Mais lorsque je prend le TD4...

Code:
public enum MesParametresDeConnexion {
    ORACLE("oracle.jdbc.OracleDriver","jdbc:oracle:thin:@oracle9:1521:esidb","???","????"),
    ACCESS("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:anagramme","",""),
    MYSQL("com.mysql.jdbc.Driver","jdbc:mysql:http://localhost:3306/Anagramme","root",null),
    JAVADB("org.apache.derby.jdbc.ClientDriver","jdbc:derby://localhost:1527/anagramme","app","app");

Code:
    private static Connection connection;
    private static MesParametresDeConnexion dbChoisie;
   
    /**
    * Cree une connexion a partir des elements donnes
    * @throws BibliothequeDbException <ul><li>si le driver n'est pas trouve</li><li>si la connexion n'a pu etre etablie</li><ul>
    */
    private static void setConnection() throws DbException {
        try {
            dbChoisie=MesParametresDeConnexion.MYSQL;
            http://Class.forName(dbChoisie.getDriver());
            connection=DriverManager.getConnection(dbChoisie.getUrl(),dbChoisie.getUid(),dbChoisie.getPsw());
            connection.setAutoCommit(true);
        } catch (Exception ex){
            throw new DbException("Probleme de connexion. \n "+ex.getMessage());
           
        }

Ceci me retourne :
Impossible de modifier les stats du mot
Probleme de connexion.
No suitable driver found for jdbc:mysql:http://localhost:3306/Anagramme
Probleme de connexion.
No suitable driver found for jdbc:mysql:http://localhost:3306/Anagramme

La lib MySQL JDBC Driver est bien ajoutée.
+TableLayout_brol.jar
+SaisiAnagramme.jar

heu.. voila si quelqu'un avait une piste ca serait cool.

Merci d'avance

Nicky

Nombre de messages : 300
Age : 29
Prénom : Pierre
Statut : Tout fini ! 2012
Localisation : Bruxelles / Chimay
Date d'inscription : 18/03/2008

Revenir en haut Aller en bas

Re: [ALG 3ir] TD4

Message  LSV le Sam 03 Déc 2011, 17:19

je suppose qu'il ne trouve pas le driver, le .jar Smile. Tu es sur qu'il est au bon endroit?

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [ALG 3ir] TD4

Message  Jokosar le Sam 03 Déc 2011, 18:02

http://www.mysql.com/downloads/connector/j/ <--- ta bien celui la ?

et essaye de mettre Anagramme en minuscule

Jokosar

Nombre de messages : 72
Localisation : au 202 ...
Date d'inscription : 29/05/2007

Revenir en haut Aller en bas

Re: [ALG 3ir] TD4

Message  Nicky le Sam 03 Déc 2011, 20:59

J'ai la version 5.1.13 (c'est celle présent dans mes dépôts ) , je vais quand meme mettre a jour...

Ma bd s'appel bien "Anagramme" avec une maj...

et j'imagine que oui, le .jar est au bon endroit étant donner que opensuse la installer pour moi, et que cela fonctionne avec le 1er petit programme :s


Nicky

Nombre de messages : 300
Age : 29
Prénom : Pierre
Statut : Tout fini ! 2012
Localisation : Bruxelles / Chimay
Date d'inscription : 18/03/2008

Revenir en haut Aller en bas

Re: [ALG 3ir] TD4

Message  Wark le Sam 03 Déc 2011, 22:50

No suitable driver signifie qu'il ne trouve pas de driver capable de traiter ta requête. En comparant les deux codes suivants, tu devrais facilement trouver l'erreur :

Code:
DriverManager.getConnection("jdbc:mysql://localhost:3306/Anagramme","root",null);

Code:
MYSQL("com.mysql.jdbc.Driver","jdbc:mysql:http://localhost:3306/Anagramme","root",null)

Petite info supplémentaire, un driver de connexion JDBC possède plusieurs méthodes intéressantes...

Extrait :

public boolean acceptsURL(String url) throws SQLException
Typically, drivers will return true if they understand the subprotocol specified in the URL and false if they don't. This driver's protocols start with jdbc:mysql:

Edit : Fautes de français...

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [ALG 3ir] TD4

Message  Nicky le Dim 04 Déc 2011, 14:48

merci wark
My protocol takes the form:

jdbc:mysql://host:port/database


Nicky

Nombre de messages : 300
Age : 29
Prénom : Pierre
Statut : Tout fini ! 2012
Localisation : Bruxelles / Chimay
Date d'inscription : 18/03/2008

Revenir en haut Aller en bas

Re: [ALG 3ir] TD4

Message  Contenu sponsorisé Aujourd'hui à 15:18


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum