Pilote MySQL JDBC 5.1.33 : résolution des écarts de fuseau horaire
Un problème courant rencontré après la mise à niveau vers le pilote MySQL JDBC 5.1.33 est un message d'erreur indiquant une valeur de fuseau horaire du serveur non reconnue (« UTC »). Cela se produit lorsque la prise en charge du fuseau horaire du pilote JDBC est utilisée et que la valeur du fuseau horaire du serveur n'est pas suffisamment spécifiée.
La cause
La cause première de ce problème réside dans la valeur par défaut gestion du fuseau horaire du pilote MySQL JDBC 5.1.33. Il s'attend à ce que le fuseau horaire du serveur soit explicitement défini, alors que les versions précédentes du pilote supposaient un fuseau horaire par défaut. Ce changement a été introduit pour améliorer la prise en charge du fuseau horaire, mais nécessite une configuration supplémentaire lors de l'utilisation du fuseau horaire UTC.
La solution
Pour résoudre ce problème et vous connecter avec succès avec le pilote MySQL JDBC 5.1. 33 En utilisant le fuseau horaire UTC, le paramètre serverTimezone doit être explicitement spécifié dans la chaîne de connexion. Ce paramètre informe le pilote JDBC du fuseau horaire du serveur de base de données, garantissant que le décalage correct est appliqué aux horodatages et aux dates.
Dans une application Java, ce paramètre peut être ajouté à la chaîne de connexion comme suit :
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
En spécifiant le paramètre serverTimezone comme UTC, le pilote JDBC gérera correctement les conversions de fuseau horaire et la communication avec la base de données MySQL en utilisant l'UTC. fuseau horaire.
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!