Heim >Java >javaLernprogramm >Warum gibt mein MySQL JDBC-Treiber (5.1.33) nach dem Upgrade einen Zeitzonenfehler aus?

Warum gibt mein MySQL JDBC-Treiber (5.1.33) nach dem Upgrade einen Zeitzonenfehler aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-10 10:30:18558Durchsuche

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

Zeitzonenproblem mit MySQL 5.1.33 JDBC-Treiber

Ein Benutzer hat ein Problem beim Upgrade von MySQL JDBC-Treiberversion 5.1.23 auf 5.1.33 gemeldet. Konkret löste die Anwendung nach dem Upgrade einen Fehler im Zusammenhang mit einer nicht erkannten Zeitzone aus.

Ursache

Das Problem entsteht durch Änderungen bei der Handhabung von Zeitzonen im aktualisierten Treiber. Im MySQL JDBC-Treiber 5.1.33 ist die standardmäßige Zeitzoneninterpretation strenger und die Zeitzone des Servers muss explizit über die Konfigurationseigenschaft serverTimezone angegeben werden.

Lösung

Um das Problem zu beheben, Der Benutzer sollte den folgenden Parameter zur Verbindungszeichenfolge hinzufügen:

?serverTimezone=UTC

Dieser Parameter legt die Zeitzone des Servers explizit auf UTC fest. Die resultierende Verbindungszeichenfolge könnte so aussehen:

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

Das obige ist der detaillierte Inhalt vonWarum gibt mein MySQL JDBC-Treiber (5.1.33) nach dem Upgrade einen Zeitzonenfehler aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn