ホームページ >Java >&#&チュートリアル >MySQL JDBC Driver 5.1.33 がサーバーのタイムゾーンに関して SQLException をスローするのはなぜですか?

MySQL JDBC Driver 5.1.33 がサーバーのタイムゾーンに関して SQLException をスローするのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-13 12:13:10868ブラウズ

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

MySQL JDBC ドライバー 5.1.33 と予期しない JDBC 例外

JDBC ドライバー 5.1.23 を利用する Java Web アプリケーションでは、MySQL 5.5 データベースへの接続時に問題は発生しませんでした。ただし、ドライバー バージョン 5.1.33 にアップグレードすると、Tomcat でアプリケーションの起動時に例外が発生するようになりました。エラー メッセージにより、このようなエラーが発生した理由を調査することが求められました。

発生したエラーは次のとおりです:

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.

この問題を修正するには、MySQL JDBC ドライバー 5.1.33 では明示的なメッセージが必要であることが判明しました。 UTC タイム ゾーンをサポートするための接続文字列内の serverTimezone パラメーターの指定。これは、接続文字列に次のコードを追加することで実現されます:

?serverTimezone=UTC

この追加により、ドライバーは一時的な操作に指定されたタイムゾーンを使用するようになり、例外が解決され、アプリケーションが正しく機能できるようになります。したがって、変更された接続文字列は次のようになります:

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

以上がMySQL JDBC Driver 5.1.33 がサーバーのタイムゾーンに関して SQLException をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。