MySQL JDBC 驅動程式5.1.33:解決時區差異
升級到MySQL JDBC 驅動程式5.1.33 後遇到的常見問題是錯誤訊息指示無法辨識的伺服器時區值(“UTC”)。當使用 JDBC 驅動程式的時區支援且伺服器的時區值未充分指定時,就會發生這種情況。
原因
此問題的根本原因在於預設值MySQL JDBC 驅動程式 5.1.33 的時區處理。它期望明確定義伺服器時區,而先前版本的驅動程式採用預設時區。引入此變更是為了增強時區支持,但在使用 UTC 時區時需要額外配置。
解決方案
解決此問題並成功連接 MySQL JDBC 驅動程式 5.1。 33 使用 UTC 時區,必須在連線字串中明確指定 serverTimezone 參數。此參數通知 JDBC 驅動程式有關資料庫伺服器的時區的信息,確保將正確的偏移量應用於時間戳記和日期。
在Java 應用程式中,可以將此參數新增至連接字串,如下所示:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
透過將serverTimezone 參數指定為UTC,JDBC 驅動程式將正確處理時區轉換並使用UTC 與MySQL 資料庫通訊時區。
以上是為什麼 MySQL JDBC 驅動程式 5.1.33 會拋出「伺服器時區」錯誤,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!