Rumah >pangkalan data >tutorial mysql >Mengapa Sambungan JDBC saya Gagal dengan \'Nilai Zon Masa Pelayan \'AEST\' Tidak Diiktiraf\'?
Nilai zon waktu pelayan 'AEST' tidak dikenali atau mewakili lebih daripada satu zon waktu
Ralat ini berlaku apabila zon waktu pelayan ( AEST dalam kes ini) tidak dikenali atau mewakili berbilang zon waktu. Untuk menangani perkara ini, anda perlu mengkonfigurasi pelayan atau pemacu JDBC (khususnya, sifat konfigurasi zon waktu pelayan) untuk menggunakan nilai zon waktu yang lebih khusus.
Spesifik MySQL
Untuk MySQL, zon Waktu pelayan lalai ialah UTC. Walau bagaimanapun, jika anda mencipta pangkalan data dengan zon waktu tertentu, MySQL menyimpan jadual dengan cap masa dalam format berasaskan UTC.
Apabila menyambung ke pangkalan data, pemacu JDBC cuba menukar ini cap masa ke zon waktu JVM anda. Jika zon waktu JVM anda berbeza daripada zon waktu pangkalan data dan anda tidak menentukan zon waktu pelayan, pemacu mungkin tidak menukar cap masa dengan betul, membawa kepada ralat ini.
Penyelesaian
Untuk membetulkan isu ini dalam MySQL, nyatakan sifat serverTimezone dalam URL sambungan anda atau dalam Hibernate anda konfigurasi:
URL Sambungan:
jdbc:mysql://localhost:3306/database_name?serverTimezone=your_timezone
Konfigurasi Hibernate:
<property name="hibernate.connection.server_timezone">your_timezone</property>
Di mana zon_masa anda mewakili masa tertentu zon yang anda mahu gunakan.
Petua Tambahan
Atas ialah kandungan terperinci Mengapa Sambungan JDBC saya Gagal dengan \'Nilai Zon Masa Pelayan \'AEST\' Tidak Diiktiraf\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!