Heim >Java >javaLernprogramm >MySQL JDBC-Treiber 5.1.33: Wie behebt man den Fehler „Der Server-Zeitzonenwert ‚UTC' ist nicht erkannt'?
MySQL JDBC-Treiber 5.1.33: Behebung des Zeitzonenproblems
Bei Java-Anwendungen, die den MySQL JDBC-Treiber Version 5.1.23 verwenden, können Fehler auftreten beim Upgrade auf Version 5.1.33. Insbesondere kann Tomcat eine Ausnahme ähnlich der folgenden auslösen:
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone.
Verstehen des Problems
Dieser Fehler tritt auf, weil Version 5.1.33 des JDBC-Treibers eine strengere Zeitzone hat Handhabung. Standardmäßig geht MySQL davon aus, dass die Zeitzone des Servers UTC ist. Wenn der Server jedoch mit einer anderen Zeitzone konfiguriert ist, kann der Treiber Zeitstempel möglicherweise nicht korrekt konvertieren.
Lösung: Server-Zeitzone konfigurieren
Um dieses Problem zu beheben und stellen Sie sicher, dass Version 5.1.33 mit der UTC-Zeitzone funktioniert, geben Sie explizit die serverTimezone-Eigenschaft in der Verbindungszeichenfolge an. Der Wert dieser Eigenschaft sollte mit der auf dem MySQL-Server konfigurierten Zeitzone übereinstimmen.
Zum Beispiel:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
Durch Angabe der serverTimezone-Eigenschaft kann der Treiber die in gespeicherten Zeitstempel richtig interpretieren die Datenbank und vermeiden Sie den Fehler, der beim Starten von Tomcat auftritt.
Das obige ist der detaillierte Inhalt vonMySQL JDBC-Treiber 5.1.33: Wie behebt man den Fehler „Der Server-Zeitzonenwert ‚UTC' ist nicht erkannt'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!