Maison >Java >javaDidacticiel >Pilote MySQL JDBC 5.1.33 : Comment corriger l'erreur « La valeur du fuseau horaire du serveur « UTC » n'est pas reconnue » ?
Pilote MySQL JDBC 5.1.33 : résolution du problème de fuseau horaire
Les applications Java utilisant la version 5.1.23 du pilote MySQL JDBC peuvent rencontrer des erreurs lors de la mise à niveau vers la version 5.1.33. Plus précisément, Tomcat peut générer une exception similaire à :
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone.
Comprendre le problème
Cette erreur se produit car la version 5.1.33 du pilote JDBC a un fuseau horaire plus strict. manutention. Par défaut, MySQL suppose que le fuseau horaire du serveur est UTC. Cependant, si le serveur est configuré avec un fuseau horaire différent, le pilote risque de ne pas être en mesure de convertir correctement les horodatages.
Solution : configuration du fuseau horaire du serveur
Pour résoudre ce problème et assurez-vous que la version 5.1.33 fonctionne avec le fuseau horaire UTC, spécifiez explicitement la propriété serverTimezone dans la chaîne de connexion. La valeur de cette propriété doit correspondre au fuseau horaire configuré sur le serveur MySQL.
Par exemple :
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
En spécifiant la propriété serverTimezone, le pilote pourra interpréter correctement les horodatages stockés dans la base de données et éviter l'erreur rencontrée au démarrage de Tomcat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!