Maison >Java >javaDidacticiel >Pourquoi mon pilote MySQL JDBC (5.1.33) génère-t-il une erreur de fuseau horaire après la mise à niveau ?

Pourquoi mon pilote MySQL JDBC (5.1.33) génère-t-il une erreur de fuseau horaire après la mise à niveau ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 10:30:18612parcourir

Why Does My MySQL JDBC Driver (5.1.33) Throw a Time Zone Error After Upgrading?

Problème de fuseau horaire avec le pilote JDBC MySQL 5.1.33

Un utilisateur a signalé un problème lors de la mise à niveau du pilote MySQL JDBC version 5.1.23 vers la version 5.1.33. Plus précisément, après la mise à niveau, l'application renvoyait une erreur liée à un fuseau horaire non reconnu.

Cause

Le problème survient en raison de changements dans la gestion des fuseaux horaires dans le pilote mis à jour. Dans le pilote MySQL JDBC 5.1.33, l'interprétation du fuseau horaire par défaut est plus stricte et le fuseau horaire du serveur doit être explicitement spécifié via la propriété de configuration serverTimezone.

Résolution

Pour résoudre le problème, l'utilisateur doit ajouter le paramètre suivant à la chaîne de connexion :

?serverTimezone=UTC

Ce paramètre définit explicitement le fuseau horaire du serveur sur UTC. La chaîne de connexion résultante pourrait ressembler à ceci :

jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn