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

JDBC Java Discussion :

Impossiblité d'accès à une base de données sous Mysql en java sous Ubuntu


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Impossiblité d'accès à une base de données sous Mysql en java sous Ubuntu
    Bonjour.
    Habituellement, je développe en java sous Windows. Ce n'est que récemment que j'ai commencé à développer dans un environnement LINUX, particulièment UBUNTU. J'utilise l'EDI Netbeans 6.5. J'ai créé une base de données sous Mysql à laquelle j'éssaye d'accéder via une classe Java mais j'arrive toujour pas à y accéder. J'ai utilisé dans ma classe java le Driver jdbc.odbc.JdbcOdbcDriver qui semble marcher puisque le message d'erreur auquel je bute sors au niveau de la tentative de connexion à la base de données.Le message d'erreur est : Impossible de se connecter à la base de données. J'ai utilisé comme URL de ma base de données le chemin suivant: jdbc:mysql:3306//personne ou personne est la base de données que j'ai créé au niveau de Mysql.Alors ma question est de savoir si comme sous Windows, on doit créer une source de données sous LINUX et si oui comment le faire pour que je puisse accéder à ma base de données ou bien si c'est autre chose.
    Votre aide me sera d'une grande utilité.
    Merci.

  2. #2
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    Salut !

    Tu devrais montrer le code de cette classe de connexion, peut-être que quelqu'un y verra quelque-chose...

    Bonne chance !

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Le code java de la classe en question
    Oui bonjour.
    Voilà le code de la classe java en question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    import java.sql.*;
    public class TestJDBC {
        private static void affiche(String message) {
      System.out.println(message);
    }
    private static void arret(String message) {
      System.err.println(message);
      System.exit(99);
    }
    public static void main(String[] args){
    Connection con=null;
    ResultSet resultats= null;
    String requete="";
     
    // chargement du pilote
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
    }catch(ClassNotFoundException e){
      arret("Impossible de charger le pilote jdbc:odbc");}
     
     
    //connection a la base de données
    affiche("connection a la base de donnees");
    try {
    String DBurl = "jdbc:mysql://localhost:3306/personne";
    con=DriverManager.getConnection(DBurl, "root","");
    }catch(SQLException e){
        arret("Connection à la base de donnees impossible");}
     
    //creation et execution de la requête
    affiche("creation et execution de la requête");
    requete = "SELECT * FROM mogo";
     
    try {
      Statement stmt = con.createStatement();
      resultats = stmt.executeQuery(requete);
    } catch (SQLException e) {
      arret("Anomalie lors de l'execution de la requête");
    }
     
    //parcours des données retournees
    affiche("parcours des données retournees");
    try {
      ResultSetMetaData rsmd = resultats.getMetaData();
      int nbCols = rsmd.getColumnCount();
      boolean encore = resultats.next();
      while (encore) {
        for (int i = 1; i <= nbCols; i++)
          System.out.print(resultats.getString(i) + "");
        System.out.println();
        encore = resultats.next();
      }
      resultats.close();
    } catch (SQLException e) {
      arret(e.getMessage());
    }
     
    affiche("fin du programme");
    System.exit(0);
    }
    }

    Merci pour votre aide.
    Cordialement

  4. #4
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    Le message d'erreur est : Impossible de se connecter à la base de données.
    Ce n'est donc pas le message d'erreur qui est dans ton code...

    }catch(SQLException e){
    arret("Connection à la base de donnees impossible");}
    ça pourrait venir de la base de données ? par ex. tu n'aurais pas les droits suffisants ?

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Donne nous la vaie exception, pas ton message d'erreur qui ne nous sert à rien.

    Ensuite, tu n'utilises pas la bonne classe de ton driver: utilise plutôt :

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Le message
    Quand j'utilise le driver com.mysql.jdbc.Driver là c'est le message Impossible de charger le pilote jdbc. C'est la raison pour laquelle j'ai utilisé l'autre c'est à dire le sun.jdbc.odbc.JdbcOdbcDriver et comme j'ai vu que cela passait c'est pourquoi je l'ai gardé.

    Je vous donne le message en intégralité après l'exécution par Netbeans quand j'utilise com.mysql.jdbc.Driver:

    run:
    Impossible de charger le pilote jdbc:odbc
    Java Result: 99
    BUILD SUCCESSFUL (total time: 0 seconds)

    Le message en intégralité après l'exécution par Netbeans quand j'utilise sun.jdbc.odbc.JdbcOdbcDriver:

    run:
    connection a la base de donnees
    Connection à la base de donnees impossible
    Java Result: 99
    BUILD SUCCESSFUL (total time: 0 seconds)

  7. #7
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Il faut que tu utilise le driver com.mysql.jdbc.Driver. Si tu as un message te disant que le driver n'a pas pu être chargé c'est probablement que tu n'as pas ajouté le jar contenant cette classe à ton projet.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  8. #8
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    utilise la méthode printStackTrace sur tes exceptions, de manière à voir les vraies erreurs.
    Encore une fois, tes messages ne nous aident pas.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [RESOLU]
    Bonjour.
    Effectivement, comme vous l'avez souligné, je n'avais pas rajouter à mon projet la librairie MYSQL JDBC DRIVER. C'est dans cette librairie qu'il y'a éffectivement le Driver com.mysql.jdbc.Driver.
    Dès que que j'ai rajouté cette librairie à mon projet, j'ai pu accéder à la base de données .

    Tout marche à merveille.

    Merci infiniment pour votre aide

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [RESOLU]
    Comme vous le savez sans doute, avec l'EDI Netbeans, chaque projet est créé avec un certain nombre de librairies. Et justement après la création du projet, on peut soi même rajouter d'autres librairies. C'est comme ca que le problème a pu être règlé.
    Encore une fois merci pour votre aide

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

Discussions similaires

  1. [C#] Accés à une base de données AS400
    Par Green Hornet dans le forum Accès aux données
    Réponses: 8
    Dernier message: 14/11/2011, 11h26
  2. Réponses: 4
    Dernier message: 15/01/2005, 16h05
  3. Accès à une base de données ACCESS
    Par Invité dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/01/2005, 08h23
  4. [JDBC]acces à une base de données mysql
    Par sehaba dans le forum JDBC
    Réponses: 13
    Dernier message: 07/12/2004, 00h39
  5. Réponses: 2
    Dernier message: 01/10/2004, 15h13

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