Rumah > pangkalan data > tutorial mysql > Mengapa Sambungan JDBC saya Gagal dengan \'Nilai Zon Masa Pelayan \'AEST\' Tidak Diiktiraf\'?

Mengapa Sambungan JDBC saya Gagal dengan \'Nilai Zon Masa Pelayan \'AEST\' Tidak Diiktiraf\'?

Patricia Arquette
Lepaskan: 2024-12-05 00:56:11
asal
857 orang telah melayarinya

Why is my JDBC Connection Failing with

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
    Salin selepas log masuk
  • Konfigurasi Hibernate:

    <property name="hibernate.connection.server_timezone">your_timezone</property>
    Salin selepas log masuk

Di mana zon_masa anda mewakili masa tertentu zon yang anda mahu gunakan.

Petua Tambahan

  • Jika anda tidak pasti zon waktu yang betul, cetak zon waktu lalai menggunakan TimeZone.getDefault ().
  • Semak format nilai zon waktu. Ia harus mengikut format zon waktu IANA, seperti "Australia/Sydney".
  • Jika anda masih menghadapi masalah, rujuk dokumentasi untuk pangkalan data khusus dan pemacu JDBC yang anda gunakan.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan