Maison >Java >javaDidacticiel >Pourquoi le pilote MySQL JDBC 5.1.33 génère-t-il une exception SQL concernant le fuseau horaire du serveur ?

Pourquoi le pilote MySQL JDBC 5.1.33 génère-t-il une exception SQL concernant le fuseau horaire du serveur ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-13 12:13:10868parcourir

Why Does MySQL JDBC Driver 5.1.33 Throw a SQLException Regarding Server Timezone?

Pilote MySQL JDBC 5.1.33 et exception JDBC inattendue

Une application Web Java utilisant le pilote JDBC 5.1.23 n'a rencontré aucun problème lors de la connexion à une base de données MySQL 5.5. Cependant, lors de la mise à niveau vers la version 5.1.33 du pilote, Tomcat a commencé à rencontrer une exception au démarrage de l'application. Le message d'erreur a incité à enquêter sur la raison pour laquelle une telle erreur s'est produite.

L'erreur rencontrée était :

WARNING: Unexpected exception resolving reference
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents
  more than one timezone. You must configure either the server or JDBC driver (via
  the serverTimezone configuration property) to use a more specifc timezone value if
  you want to utilize timezone support.

Pour corriger ce problème, il a été déterminé que le pilote MySQL JDBC 5.1.33 nécessite des spécification du paramètre serverTimezone dans la chaîne de connexion pour la prise en charge du fuseau horaire UTC. Ceci est réalisé en ajoutant ce qui suit à la chaîne de connexion :

?serverTimezone=UTC

Cet ajout garantit que le pilote utilise le fuseau horaire spécifié pour les opérations temporelles, résolvant l'exception et permettant à l'application de fonctionner correctement. La chaîne de connexion modifiée apparaît donc comme suit :

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