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 驅動程式 5.1.33 會拋出「UTC」時區錯誤,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!