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; } }
Partager