1 like 0 dislike
44 views
in Java by
Java Vaadin Mysql kullanıyorum. Projemi tomcat'e deploy edip çalıştırınca aşağıdaki hatayı alıyorum.

MySQL fails - java.sql.SQLException: The server time zone value CDT is unrecognized or represents more than one time zone

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)

Timezone programcıları yoran konular arasında herhalde en başta gelenidir. Hatanın sebebi mysql zaman dilimi ile mysql sunucusunun bulunduğu bilgisayardaki zaman diliminin uymaması, birbirine çevrilememesi ya da mysql sunucusunun zaman diliminin hiç set edilmemiş olmasından kaynaklanıyor olabilir.

Çözüme  gelirsek, forumlarda onlarca tekniği denedikten sonra aşağıdaki şekilde çalıştırdım.

1- mysql-connector-java-5.1.39.jar  kullanın, test edildi onaylandı.

Lazım olur diye pom kısmı;

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency> 

2- persistence xml dosyasının içi aşağıdakine benzer olmalıdır. Kırmızı ile işaretlediğim kısım zaman dilimi ile ilgili ekleme yaptığım kısımdır.

 <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/kbdb?useUnicode=true&amp;useLegacyDatetimeCode=false&amp;useTimezone=true&amp;serverTimezone=UTC&amp;zeroDateTimeBehavior=convertToNull"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>

4- Son olarak sorun devam ederse, mysql conf dosyasına (xampp için my.ini dosyasıdır.) aşağıdaki satırı ekleyiniz.

default_time_zone='+03:00'

Database saatini kontrol etmek için;

select now();

En güncel teknolojiler hakkında yeni şeyler öğren, bilmediklerini sor, bildiklerini paylaş...

Categories

...