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 :

connexion à une base de données


Sujet :

JDBC Java

  1. #1
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut connexion à une base de données
    Bonjour,


    Je veux faire une connexion entre un programme java sous eclipse et une base de donnée MySQL.
    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
    import java.sql.*;
    public class TestBD {
     
    	public static void main(String[] args) throws SQLException{
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			System.out.println("Le pilote JDBC MySQL a été chargé");
    			Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/BDTest","root","30071986");
    			Statement state = connexion.createStatement();
    			ResultSet result = state.executeQuery("SELECT * FROM Student");
     
    			while(result.next())  
    			System.out.println(result.getInt(1)+"  "+result.getString(2)+"  "+result.getInt(3)+" "); 
    			connexion.close();
    			} catch (Exception e) { System.out.println(e);}
     
    	}
     
    }
    sachant que j'ai déjà ajouté dans libraries mysql-connecter et j'ai crée sous mysqlWorkbench une base nommé BDTest qui contient un tableau Student qui encore vide et est ce que ce type d'erreur peut etre declenché à cause du login ou passeword du base de donné.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 111
    Par défaut
    Quel type d'erreur ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu dois fermer la connexion après la boucle while.

    Après, c'est quoi l'erreur que tu obtiens?

    A+.

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 111
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Tu dois fermer la connexion après la boucle while.
    Il le fait (manque d'accolades)
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Il le fait (manque d'accolades)
    Ah oui, je déteste les blocs sans accolades, après avec ces mauvaises indentations, c'est difficile à voir. J'ai simplement fait une illusion en pensant que l'accolades fermantes après la fermeture de connexion est pour la boucle while.

  6. #6
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    ceci est l'erreur
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    As-tu mis le jar de ton driver de base de données dans le classpath de ton application ?

  8. #8
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    en principe oui
    Nom : Sans titre.png
Affichages : 497
Taille : 14,1 Ko

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 111
    Par défaut
    Ca fait longtemps que je n'ai pas utiliser de driver JDBC, mais le fichier ZIP que tu as utilisé, il y'a quoi a l'intérieur ? Je m'attendais plutôt a un jar conventionnel, mais je me trompe peut être...
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    je ne sais pas mais en principe c'est le driver pour faire la connexion que je l'ai téléchargé depuis le net.

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    wax a sans doute raison, le jar doit se trouver dans le zip.

  12. #12
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    je n'ai pas compris

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    dézippe le fichier zip qui doit contenir le jar de ton driver, et mets ton jar dans le classpath à la place du zip.

  14. #14
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    ok c'est fait
    maintenant cet erreur est affiché
    Le pilote JDBC MySQL a été chargé
    Tue Feb 19 11:27:29 CET 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'bdtest'

  15. #15
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Unknown database 'bdtest'
    Ta base de données n'existe pas. Il te faut la créer dans mysql.

  16. #16
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    Bonjour,

    oui je comprends bien que java ne trouve pas une base de donnée nommé TestDB mais Je travail sur MySQLWorkBench et e n'arrive pas à sauvegarder ma base de données.
    Nom : Sans titre.png
Affichages : 470
Taille : 44,7 Ko

  17. #17
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    Bonjour,

    je n'arrives pas à me connecter à la base de données malgré qu'elle existe sachant que je travaille sur mySQLWorkbench que peut etre l'erreur s'il vous plait.
    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
    import java.sql.*;
    public class TestBD {
     
    	public static void main(String[] args) throws SQLException{
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			System.out.println("Le pilote JDBC MySQL a été chargé");
    			Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/TestBD","root","30071986");
    			Statement state = connexion.createStatement();
    			ResultSet result = state.executeQuery("SELECT * FROM Student");
     
    			while(result.next())  
    			System.out.println(result.getString(1)+"  "+result.getString(2)+"  "+result.getInt(3)+" "); 
    			connexion.close();
    			} catch (Exception e) { System.out.println(e);}
     
    	}
     
    }
    Voici l'erreur
    Le pilote JDBC MySQL a été chargé
    Thu Feb 21 11:03:12 CET 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'testbd'


    Nom : Sans titre.png
Affichages : 493
Taille : 41,5 Ko

  18. #18
    Invité
    Invité(e)
    Par défaut
    Si tu vas dans le client mysql, et que tu entres l'instruction
    show databases;
    , est-ce que testdb est bien référencé?

  19. #19
    Membre très actif
    Inscrit en
    Janvier 2010
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 212
    Par défaut
    je n'ai pas compris plus de détails s'il vous plait.

  20. #20
    Invité
    Invité(e)
    Par défaut
    Connecte toi à un client mysql de ton choix (un est fourni par défaut avec le serveur), entre la commande, et vérifie le résultat.

Discussions similaires

  1. Pool de connexion à une base de données en java
    Par ppaul127 dans le forum JDBC
    Réponses: 3
    Dernier message: 15/12/2005, 17h03
  2. Réponses: 1
    Dernier message: 25/09/2005, 16h18
  3. ERREUR DE CONNEXION à une base de donnée ACCESS protégée
    Par unionriton dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 09h35
  4. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

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