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 :

Accès Eclipse / BDD Mysql


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 11
    Par défaut Accès Eclipse / BDD Mysql
    Bonjour à tous,

    Je débute en java soyez indulgent xD !

    J'essaye de connecter ma base de données MySQL (sous wamp) à une requête que j'execute sous eclipse.
    J'ai préalablement télécharger et ajouter a mon projet le jdbc.
    MAis ca ne marche pas j'ai le message d'erreur suivant : ""ERROR :Unknown database 'pds' (Je précise que la base existe, j'ai également teste avec une autre base qui n'est pas trouvé non plus).

    voici mon code il m'a l'air correct, help pleaseeee !!

    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
    package service;
    import java.sql.*;
     
    	public class testMysql {
     
    	public static void main(String[] args) {
    	    try{
     
    	        // 1...charger le driver mysql
    	        Class.forName("com.mysql.jdbc.Driver");
    	        // 2..creer la conection
    	        Connection con=DriverManager.getConnection("jdbc:mysql://localhost/pds","root","");
    	        // 3..creer la requette
    	        Statement stm=con.createStatement();
    	        // 4..executer requette
    	        ResultSet res=stm.executeQuery("select * from tbfile");
    	        // 5..parcoure des resultat stoque dans res
    	        while (res.next()){
    	            System.out.println("id du fichier :"+res.getInt(1)+"nom du fichier : "+res.getString(2));
    	        }  
    		    //  6..fermer la connection
    		    con.close();
    		    // 7..traitement des exeption
    	        }catch (Exception e) {
    	            System.out.println("ERROR :"+e.getMessage());
    	        }
    	    }
    	}
    Qu'en pensez vous ?
    Merci d'avance !

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    de mémoire, il faut faire un newInstance sur le driver pour qu'il s'enregistre correctement au niveau de l'api jdbc (plus sûr exactement de la raison, à chercher sur google)

    Donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName("com.mysql.jdbc.Driver").newInstance();

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Un début d'explication du pourquoi: http://java.developpez.com/faq/jdbc/...argementDriver

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 11
    Par défaut
    oui je comprend pourquoi il faut créer une nouvelle instance. Merci pour le tuyeau !
    Mais mis à part ca mon problème n'est pas résolu, je n'arrive tjs pas a joindre la base de donnée.
    J'ai changé les user ("root", "root") et j'ai à présent le message suivant : ERROR :Access denied for user 'root'@'localhost' (using password: YES)

    Il trouverait donc la BDD de cette manière ? Pourquoi je n'arrive pas a effectuer la requête ?

    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
    package service;
    import java.sql.*;
     
    	public class testMysql {
     
    	public static void main(String[] args) {
     
    		try{ 
    	        // 1...charger le driver mysql
    	        Class.forName("com.mysql.jdbc.Driver").newInstance();
    	        System.out.println("0");
    	        // 2..creer la conection
    	        Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/basepds","root","root");
    	        System.out.println("1");
    	        // 3..creer la requette
    	        Statement stm=con.createStatement();
    	        // 4..executer requette
    	        ResultSet res=stm.executeQuery("select * from tbfile");
    	        // 5..parcoure des resultat stoque dans res
    	        while (res.next()){
    	            System.out.println("id du fichier :"+res.getInt(1)+"nom du fichier : "+res.getString(2));
    	        }  
    		    //  6..fermer la connection
    		    con.close();
    		    // 7..traitement des exeption
    	        }catch (Exception e) {
    	            System.out.println("ERROR :"+e.getMessage());
    	        }
    	    }
    	}

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    en changeant les password il faut pas encore lancer un FLUSH PRIVILEGES?
    la version du driver correspond bien à la version de la base de données (un vieux driver ne peut pas discuter avec un mysql récent, vice versa)?
    est-ce que l'installation est locale? parfois, en fonction de comment sont configurés les utilisateurs et la base, ils ne peuvent se logger que sur localhost (donc le 127.0.0.1 risque de pas passer, essaie de mettre localhost à la place)

    Sinon euh... en ligne de commande, ça fonctionne? (en lançant mysql -u root -p)?

  6. #6
    Membre très actif
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Par défaut
    Bonjour,

    le sujet date un peu.

    De mon coté j'ai un problème un peu similaire.

    J'ai ce code qui marche pour me connecter a local host:

    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
    import java.sql.*;
     
    public class Principale {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
    		  String url    = "jdbc:mysql://localhost";
    		  String user   = "root";
    		  String passwd = "";
     
    		 Connection maConnexion;
     
     
    		 try {
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    		} catch (InstantiationException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IllegalAccessException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    		try {
    			maConnexion= DriverManager.getConnection(url, user, passwd);
    			System.out.println("maConnexion vaut "+ maConnexion );
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			System.out.println("FUCKK!!!!!");
    		}	
    	}
    }
    Mais dès que je veux me connecter a ma base nommée basetest

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     String url    = "jdbc:mysql://localhost/basetest";
    Boum! erreur!

    D'origine j'ai d'autre bases dans phpmyadmin, et je peux m'y connecter sans erreurs. De meme pour une autre base vide que j'ai créé.

    J'ai aussi essayer de renommer la base, et le probleme est resté.

    J'ai mal du configurer quelque chose, mais quoi???

Discussions similaires

  1. Tracer les accès à une BDD MySQL
    Par fgalves dans le forum Administration
    Réponses: 3
    Dernier message: 25/07/2013, 19h23
  2. Droit d'accès à une BDD MySql
    Par khouja dans le forum MySQL
    Réponses: 2
    Dernier message: 08/12/2009, 21h15
  3. [Visual Web Dev] Gérer l'accès à une BdD MySQL
    Par sanackas dans le forum ASP
    Réponses: 0
    Dernier message: 22/03/2008, 17h59
  4. manipuler une BDD mysql avec eclipse
    Par Mounr dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/06/2007, 01h36
  5. [SGBD] Pb d'accès à la BDD MySQL
    Par will89 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 06/04/2006, 11h47

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