Rumah >Java >javaTutorial >Mengapa Pemacu MySQL JDBC 5.1.33 Membuang Ralat 'Zon Waktu Pelayan', dan Bagaimana Saya Boleh Membetulkannya?
MySQL JDBC Driver 5.1.33: Menangani Percanggahan Zon Masa
Isu biasa yang dihadapi selepas menaik taraf kepada pemacu MySQL JDBC 5.1.33 ialah mesej ralat yang menunjukkan nilai zon waktu pelayan tidak dikenali ('UTC'). Ini berlaku apabila sokongan zon waktu pemacu JDBC digunakan dan nilai zon waktu pelayan tidak ditentukan dengan secukupnya.
Punca
Punca isu ini terletak pada lalai pengendalian zon waktu pemacu MySQL JDBC 5.1.33. Ia menjangkakan zon waktu pelayan ditakrifkan secara eksplisit, manakala versi pemandu sebelumnya menganggap zon waktu lalai. Perubahan ini diperkenalkan untuk meningkatkan sokongan zon waktu tetapi memerlukan konfigurasi tambahan apabila menggunakan zon waktu UTC.
Penyelesaian
Untuk menyelesaikan isu ini dan berjaya menyambung dengan pemacu MySQL JDBC 5.1. 33 menggunakan zon waktu UTC, parameter zon waktu pelayan mesti dinyatakan secara eksplisit dalam rentetan sambungan. Parameter ini memberitahu pemacu JDBC tentang zon waktu pelayan pangkalan data, memastikan bahawa offset yang betul digunakan pada cap masa dan tarikh.
Dalam aplikasi Java, parameter ini boleh ditambahkan pada rentetan sambungan seperti berikut:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
Dengan menyatakan parameter zon waktu pelayan sebagai UTC, pemacu JDBC akan mengendalikan penukaran zon waktu dan komunikasi dengan pangkalan data MySQL menggunakan UTC dengan betul. zon waktu.
Atas ialah kandungan terperinci Mengapa Pemacu MySQL JDBC 5.1.33 Membuang Ralat 'Zon Waktu Pelayan', dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!