MySQL JDBC ドライバー 5.1.33: タイム ゾーンの問題への対処
最近の MySQL JDBC ドライバーのバージョン 5.1.23 から 5.1 へのアップグレード.33 では、Java アプリケーションの起動時に予期しないエラーが発生しました。このエラーは、タイムゾーン値「UTC」が認識されないことを示唆しており、多くの開発者を困惑させています。
問題を理解する
この問題の根本原因は導入部分にあります。新しい JDBC ドライバーでは、より厳密なタイム ゾーン処理が行われます。以前は、ドライバーはタイム ゾーンをシステムのデフォルトに自動的に調整していましたが、この方法はバージョン 5.1.33 ではサポートされなくなりました。したがって、「UTC」などの非特定のタイム ゾーンでデータベースに接続すると、ドライバーは対応するタイム ゾーンを識別できず、エラーがスローされます。
問題の解決
この問題を解決するには、開発者は JDBC 接続文字列で serverTimezone プロパティを明示的に指定する必要があります。このプロパティは、デフォルトのタイム ゾーン処理をオーバーライドし、特定のタイム ゾーンの選択を可能にします。
ソリューションの実装
MySQL JDBC ドライバーのタイム ゾーンの問題を解決するには5.1.33 では、接続文字列を次のように変更します。
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
この接続文字列は、明示的にserverTimezone を「UTC」に変更し、ドライバーがタイム ゾーン調整を正しく処理できるようにします。この変更を組み込むことで、開発者はエラーを克服し、MySQL データベースへの接続を正常に確立できます。
以上がMySQL JDBC Driver 5.1.33 が「UTC」タイム ゾーン エラーをスローするのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。