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 :

Établir une connexion entre Netbeans et Mysql8.0


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 27
    Points : 23
    Points
    23
    Par défaut Établir une connexion entre Netbeans et Mysql8.0
    Bonjour à tous,
    Je début dans le domaine et je dois créer une application Java avec Netbeans qui doit ce connecter à une base de données Mysql. J'utilise Netbeans 8.2 et Mysql8.0 pour ce projet. Mon application load le driver mysql sans problème mais, rendu au moment de ce connecter j'obtiens une suite d'erreur dont la première est : Unable to load authentication plugin 'caching_sha2_password'. Je comprend bien que le mot de passe est pas correct de l'utilisateur. Cependant mon utilisateur a comme mot de passe rien(vide) donc dure de ne pas l'avoir écrit correctement. J'ai testé le shemas test dans le shell mysql et il fonctionne. Si l'une de vous qui pourrait m'expliquer ou je commets des erreurs pour que ça ne fonctionne pas.

    liste des erreurs obtenue:
    run:
    Chargement du Pilote
    Pilote téléchargé
    Demande de connexion
    Erreur lors de la connexion:<br/>Unable to load authentication plugin 'caching_sha2_password'.
    java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:923)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1725)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at mathieu_picard_14320161.Connexion.connecterDB(Connexion.java:46)
    at mathieu_picard_14320161.Connexion.<init>(Connexion.java:32)
    at mathieu_picard_14320161.Mathieu_Picard_14320161.main(Mathieu_Picard_14320161.java:22)
    BUILD SUCCESSFUL (total time: 5 seconds)

    code Java utiliser
    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
    package mathieu_picard_14320161;
     
    import com.mysql.jdbc.Driver;
    import java.sql.*;
    import java.lang.Exception;
     
    /**
     *
     * @author Mathieu
     */
    public class Connexion {
     
        private String url;
        private String user;
        private String password;
        private Connection connexion;
        private Statement statement;
        private ResultSet resultat;
     
        public Connexion(){
            url = "jdbc:mysql://localhost:3306/test";
            user = "user";
            password = "";
            connexion = null; 
            statement = null;
            resultat = null;
            connecterDB();
        }
     
        public Connection connecterDB(){
            try{
                System.out.println("Chargement du Pilote");
                Class.forName("com.mysql.jdbc.Driver");
                System.out.println("Pilote téléchargé");                      
            }catch(Exception e){
                e.printStackTrace();
                return null;
            }
            try{
                System.out.println("Demande de connexion");
                connexion = DriverManager.getConnection(url, user, password);
                System.out.println("Connexion établie");
            }catch(SQLException e){
                System.out.println("Erreur lors de la connexion:<br/>"+e.getMessage());
                e.printStackTrace();
                return null;
            }
            return null;
        }
     
     
    }

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Vérifiez que vous utilisez la bonne librairie MySQL.
    Egalement, les nouvelles versions de MySQL utilisent par défaut caching_sha2_password. Pour de la doc : https://dev.mysql.com/doc/refman/8.0...ntication.html

    Si vous souhaitez le désactiver, connectez-vous à MYSQL en tant qu'utilisateur root.
    Puis exécutez la commande en remplaçant YOUR_ROOT_USER_NAME et YOUR_ROOT_USER_PASSWORD.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER USER 'YOUR_ROOT_USER_NAME'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_ROOT_USER_PASSWORD';
    Vous n'obtiendrez plus aucune exception 'caching_sha2_password' lors de la connexion d'un client.

    Bonne journée

Discussions similaires

  1. Comment établir une connection oracle 10g
    Par michouhayoo dans le forum Connexions aux bases de données
    Réponses: 5
    Dernier message: 16/05/2008, 14h42
  2. Réponses: 5
    Dernier message: 25/06/2007, 22h45
  3. Établir une connection
    Par CLion dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 11/12/2006, 16h46
  4. comment établir une connection de VB avec MYSQL
    Par hhafid dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/08/2006, 15h57
  5. [C#] établir une communication entre UsersControl ??
    Par Nycos62 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/12/2005, 13h54

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