Server time zone non reconnu
Bonjour à tous.
J'ai commencé à réaliser une application sous JAVA avec Eclipse et j'ai voulu connecter mon appli avec MySQL.
Après voir créer une table bidon de 3 colonnes avec 4 lignes, j'effectue un test de connection à ma table mais cela ne fonctionne pas.
J'ai le message suivant:
java.sql.SQLException: The server time zone value 'Paris, Madrid (heure d?été)' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
J'ai regardé sur pleins de sites mais tout ce qui est proposé n'a pas l'air de fonctionner.
Je suis sous Eclipse Photon, Windows 10, et MySQL 8.0 avec bien sur le connecteur JAVA MySQL
Ce que j'ai compris c'est que par défaut sous windows, MySQL n'a pas de Time_zone
J'ai téléchargé un zip timezone_2018 mais j'avoue ne pas savoir quoi en faire?
Si une âme charitable pouvait éclairer ma lanterne, ça serai super sympa.
Merci d'avance.
Voici mon code
Code:
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 53 54 55 56
|
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//IHM frame = new IHM();
//frame.setVisible(true);
new IHM().setVisible(true);
/* Chargement du driver JDBC pour MySQL */
TXT_ROBOT.setText("Connection à la Base de données MySQL");
try {
Class.forName( "com.mysql.cj.jdbc.Driver" );
} catch ( ClassNotFoundException e ) {
System.out.println(e);
}
TXT_ROBOT.setText("Driver MySQL O.K.");
String url = "jdbc:mysql://localhost:3306/PP?useLegacyDatetimeCode=false&serverTimezone=Europe/Paris";
String utilisateur = "USER";
String motDePasse = "USER";
Connection connexion = null;
try {
TXT_ROBOT.setText("Tentative de connection...");
connexion = DriverManager.getConnection( url, utilisateur, motDePasse );
TXT_ROBOT.setText("Connexion effective !");
}
} catch ( SQLException e ) {
System.out.println(e);
} finally {
if ( connexion != null )
try {
connexion.close();
} catch ( SQLException ignore ) {
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
} |
merci pour cette solution
Citation:
Envoyé par
mpdkl
Bonjour Osiris2018,
J'ai rencontré le même problème aujourd'hui.
J'ai trouvé la solution sur ce forum :
https://community.oracle.com/thread/4144569
il suffit de rajouter cette ligne tout de suite après le nom de ta base :
?zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC
jdbc:mysql://localhost:3306/<databasename>?zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC
Pour moi cela a très bien marché.
Cordialement,:mrgreen: