Lorsque vous utilisez le pilote MySQL JDBC pour vous connecter au serveur de base de données MySQL. Vous pouvez rencontrer les messages d'erreur ci-dessous.
try { Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/dev2qa?useSSL=false","test","666888"); } catch (SQLException ex) { ex.printStackTrace(); System.out.println("SQL State : " + ex.getSQLState()); }
Vous trouverez ci-dessous les messages d'erreur.
INFO: Pre-instantiating singletons in [email protected]: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,userAccountDao]; root of factory hierarchy com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
Et le code d'état SQL est 08001 . La raison de cette erreur est que votre version de fichier JDBC MySQL ne correspond pas à la version du serveur de base de données MySQL .
1. Obtenez le numéro de version du serveur de base de données MySQL.
- Ouvrir Préférences système sous macOS.
- Cliquez sur l'icône MySQL dans la fenêtre contextuelle.
- Ensuite, vous pouvez obtenir la version du serveur MySQL.
2. Téléchargez le fichier Jar de la version JDBC du serveur MySQL correspondant.
- Vous pouvez télécharger le fichier jar MySQL JDBC à partir du référentiel maven. Si la version de votre serveur MySQL est 8.0.12, vous devez donc télécharger les jars JDBC version 8.0.12 ou 8.
- Si vous utilisez maven et pom.xml pour gérer les fichiers jar de dépendance de votre projet, vous devez spécifier la version du fichier jar JDBC dans le fichier pom.xml comme ci-dessous.
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency>