MySQL JDBC 驅動程式5.1.33:解決時區問題
使用MySQL JDBC 驅動程式版本5.1.23 的Java 應用程式可能會遇到錯誤升級到版本5.1.33 時。具體來說,Tomcat 可能會拋出類似於以下內容的異常:
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone.
了解問題
出現此錯誤是因為5.1.33 版本的JDBC驅動程式具有更嚴格的時區處理。預設情況下,MySQL 假定伺服器時區為 UTC。但是,如果伺服器配置了不同的時區,驅動程式可能無法正確轉換時間戳記。
解決方案:設定伺服器時區
解決此問題並確保版本 5.1.33 使用 UTC 時區,在連接字串中明確指定 serverTimezone 屬性。此屬性的值應與 MySQL 伺服器上配置的時區相符。
例如:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
透過指定 serverTimezone 屬性,驅動程式將能夠正確解釋儲存在資料庫,避免啟動Tomcat時遇到的錯誤。
以上是MySQL JDBC 驅動程式 5.1.33:如何修復「伺服器時區值『UTC』無法辨識」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!