Heim >Java >javaLernprogramm >Warum löst MySQL JDBC-Treiber 5.1.33 eine SQLException bezüglich der Serverzeitzone aus?

Warum löst MySQL JDBC-Treiber 5.1.33 eine SQLException bezüglich der Serverzeitzone aus?

Barbara Streisand
Barbara StreisandOriginal
2024-12-13 12:13:10865Durchsuche

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

MySQL JDBC-Treiber 5.1.33 und unerwartete JDBC-Ausnahme

Eine Java-Webanwendung, die den JDBC-Treiber 5.1.23 verwendet, hatte keine Probleme beim Herstellen einer Verbindung mit einer MySQL 5.5-Datenbank. Beim Upgrade auf die Treiberversion 5.1.33 trat bei Tomcat jedoch beim Start der Anwendung eine Ausnahme auf. Die Fehlermeldung veranlasste eine Untersuchung, warum ein solcher Fehler auftrat.

Der aufgetretene Fehler war:

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.

Um dieses Problem zu beheben, wurde festgestellt, dass der MySQL JDBC-Treiber 5.1.33 explizit erforderlich ist Angabe des Parameters serverTimezone in der Verbindungszeichenfolge für die Unterstützung der UTC-Zeitzone. Dies wird erreicht, indem der Verbindungszeichenfolge Folgendes hinzugefügt wird:

?serverTimezone=UTC

Dieser Zusatz stellt sicher, dass der Treiber die angegebene Zeitzone für zeitliche Vorgänge verwendet, die Ausnahme auflöst und die ordnungsgemäße Funktion der Anwendung ermöglicht. Daher sieht die geänderte Verbindungszeichenfolge wie folgt aus:

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

Das obige ist der detaillierte Inhalt vonWarum löst MySQL JDBC-Treiber 5.1.33 eine SQLException bezüglich der Serverzeitzone 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