IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Souci JDBC avec Mysql, programmation JAVA


Sujet :

Windows

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Souci JDBC avec Mysql, programmation JAVA
    Bonjour,

    voilà mon problème!!

    J'ai un projet informatique à mener à bien pour mes études.
    Le principe est le suivant: programmer en Java, en accédant et en modifiant une base de données Mysql
    J'ai installé mysql 5.0 ... jusque là pas de problème
    Mon prof ma donné un Exemple de programme où il faut modifier quelques renseignements et hop... c'est censé marché... mais non...

    J'utilise Eclipse pour programmer. J'ai bien installée mon driver jdbc qui a le nom suivant : mysql-connector-java-3.0.16-ga-bin.jar

    Le programme que mon prof ma donné est le suivant :
    (en gras ce sont mes modifs)

    import java.sql.*;
    import java.util.*;

    public class JDBCExempleSite {

    public static void main(String args[]) {
    String host = "localhost";
    String base = "aaa";
    String user = "root";
    try {
    host = args[0];
    base = args[1];
    user = args[2];
    } catch (Exception e) {}
    System.err.println("Opening JDBC connection");
    System.err.println("host = " + host);
    System.err.println("base = " + base);
    System.err.println("user = " + user);
    String driver = "com.mysql.jdbc.Driver";
    String URL = "jdbc:mysql://" + host + "/" +
    base;
    if (!user.equals(""))
    URL = URL + "?user=" + user;
    Connection c = null;
    Statement instr = null;

    try {
    Class.forName(driver);
    } catch (Exception e) {
    System.err.println("driver load failed : " + e.getMessage());
    System.exit(1);
    }
    try {
    for ( Enumeration e=DriverManager.getDrivers(); e.hasMoreElements(){
    System.out.println("Drivers "+e.nextElement().getClass().getName());
    };
    c = DriverManager.getConnection(URL, user, "");
    instr = c.createStatement();
    } catch (Exception e) {
    System.err.println("connection failed " + e.getMessage());
    if (c != null) try { c.close(); } catch (Exception ee) {}
    System.exit(2);
    }
    try {
    instr.executeUpdate("DROP TABLE if exists VOTRENOM_tableTest");
    } catch (Exception e) {}
    try {
    instr.executeUpdate("CREATE TABLE VOTRENOM_tableTest (" +
    "NOM VARCHAR (20) NOT NULL, " +
    "NUM INT NOT NULL, " +
    "PRIMARY KEY (NOM)" +
    ")" );
    instr.executeUpdate("INSERT INTO VOTRENOM_tableTest VALUES (\"titi\", 123);");
    instr.executeUpdate("INSERT INTO VOTRENOM_tableTest VALUES (\"rominet\", 456);");
    ResultSet result=instr.executeQuery("Select * From VOTRENOM_tableTest");
    while (result.next()){
    String NOM_Test = result.getString("NOM");
    int NUM_Test = result.getInt(2);

    System.out.println("NOM = "+ NOM_Test);
    System.out.println("\tNUM = "+ NUM_Test);
    }
    instr.close();
    c.close();
    } catch (Exception e) { e.printStackTrace(); }
    }
    }

    Quand je compile tout ça le message d'erreur suivant apparait :

    Drivers sun.jdbc.odbc.JdbcOdbcDriver
    Drivers com.mysql.jdbc.Driver
    Opening JDBC connection
    host = localhost
    base = aaa
    user = root
    connection failed Invalid authorization specification message from server: "Access denied for user 'root'@'localhost' (using password: NO)"

    Est ce que quelqu'un peut me depanner???
    Mon avenir en depend....

    ps: si vous avez besoin de renseignement en plus, hesitez pas a demander...

  2. #2
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Tu n'es pas ici dans le bonne partie du forum, mais bon passons...

    En fait ici le serveur Mysql te dit que tu as pas le droit de rentrer dans la base de donnèes.

    En effet tu dois d'abord régler les informations sur le compte à utiliser pour se connecter à MySQL à savoir "root" dans ton cas.

    Plus simplement, l'utilisateur root à un mot de passe et tu ne le fournis pas. Le mot de passe est généralement celui que Mysql t'a demandé à fin de l'installation.

    Par contre ce qui me chagrine c'est que l'explication est quand même marqué (certe en anglais) dans ton erreur, que tu confonds compilation et execution d'un programme JAVA ,
    et que les bases de donnèes te paressent obscure ?!

    Donc je ne peux que te conseiller de regarder dans un premier temps comment fonctionne mysql, et ensuite de te pencher sur les principes de java.

    a+

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Donc si je te comprend bien le programme java est bon, c'est la configuration de MySQL qui ne va pas...
    L'ideal serait donc de ne pas mettre de mot de passe sur MySQL...
    Mais comment faire??

    Desolé mais je suis totalement debutant en base de données.
    Je connais juste les requetes SQL pour créer et interroger la base de données...
    De plus c'est la première fois que j'utilise Mysql, d'habitude je bosse sur Oracle a la fac...

    Et oui j'ai confondu compilation et execution mais c'est le stress des exams qui approchent qui me fait perdre mes moyens...

    En tout cas, faut bien commencer un jour pour pouvoir esperer maitriser tout ça...

    Merci encore de votre aide.

  4. #4
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Entendu,

    Ce n'est pas un reproche mais une mise en garde

    Ne pas mettre de mot de passe avec mysql peut provoquer un comportement indeterminé. Je te conseil donc fortement de voir comment mettre un mot de passe !

    Lors de ton installation de mysql à la fin il t'a demandé un mot de passe, il faut configurer JDBC pour l'utiliser.

    Sinon regarde la doc de MySQL pour faire le nécessaire.

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    j'ai essayé d'ajouter un utilisateur autre que root, n'ayant pas de mot de passe en faisant de deux façons différentes et voilà ce qu'il me repond...

    quand je tape:
    use mysql;
    (database changed)

    grant usage on *.* to 'david'@'localhost';
    error 1133 (42000) Can't find any matching row in the user table

    du fait j'ai essayé :

    insert into user (Host, User, Password) values ('localhost','david','');

    erroe 1364 (HY000) Field 'ssl_cipher' doesn't have a default value


    Sinon je ne vois vraiment pas comment modifier JDBC pr qu'il prenne en compte le mot de passe que j'ai mis à l'installation...

  6. #6
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Sans vouloir faire le rabat joie, regarde les docs sur MySL au niveau des droits ce n'est pas des plus comliqué. S tu ne praviens pas à résoudre ton probléme je te donnerai la démarche étape par étape.

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Ca y est j'ai trouvé une solution!!!
    J'ai reinstallé MySQL en creant un compte anonyme...
    Et ca marche...

    Reste a programmer le reste de ma base en java...

    Merci de ta patience...

    En esperant pouvoir un jour avoir ton niveau...

    Bye

  8. #8
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Pense à

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Merci DANZEL et bonne vacance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Java et JDBC avec MySQL
    Par siempre dans le forum JDBC
    Réponses: 2
    Dernier message: 14/03/2012, 12h54
  2. Réponses: 0
    Dernier message: 04/08/2008, 14h40
  3. Souci JDBC avec Mysql, programmation JAVA
    Par Danzel dans le forum JDBC
    Réponses: 1
    Dernier message: 16/12/2006, 09h31
  4. JSmooth avec des programmes Java conséquents...
    Par phyll dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 28/04/2006, 10h25
  5. [votre avis m'interesse] Interface avec un programme Java
    Par LineLe dans le forum Interfaces Graphiques en Java
    Réponses: 29
    Dernier message: 11/12/2004, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo