ホームページ >Java >&#&チュートリアル >MySQL JDBC Driver 5.1.33 がサーバーのタイムゾーンに関して SQLException をスローするのはなぜですか?
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 サイトの他の関連記事を参照してください。