Der Server-Zeitzonenwert 'AEST' wird nicht erkannt oder repräsentiert mehr als eine Zeitzone

8

Ich versuche, eine einfache Hibernate-Anwendung einzurichten, wenn ich sie ausführe, bekomme ich eine Stack-Trace voller Fehler.

Ich habe folgende Maven-Abhängigkeiten in meiner pom.xml -Datei:

%Vor%

Und die mysql-Version, die ich lokal verwende, ist:

%Vor%

Ich laufe, was scheint, eine sehr einfache Methode, und immer noch Fehler:

%Vor%

Nachdem das obige ausgeführt wurde, bekomme ich einen langen Stack-Trace ... Die System.out.println druckt auch nicht ... Also die Verbindung scheint einfach nicht zu verbinden.

%Vor%

Ich bin auf diesen Fehler hier konzentriert:

  

Der Server-Zeitzonenwert 'AEST' wird nicht erkannt oder repräsentiert mehr   als eine Zeitzone. Sie müssen entweder den Server oder JDBC konfigurieren   Treiber (über die Konfigurationseigenschaft serverTimezone), um mehr zu verwenden   Spezifischer Zeitzonenwert, wenn Sie die Zeitzonenunterstützung nutzen möchten.

Ich bin mir nicht sicher, wie ich es repariere?

Bearbeiten:

Das Ausdrucken der Zeitzone (System.out.println (TimeZone.getDefault ());) druckt die folgenden Details:

  

sun.util.calendar.ZoneInfo [id="Australien / Melbourne", offset = 36000000, dstSavings = 3600000, useDaylight = true, Übergänge = 142, lastRule = java.util.SimpleTimeZone [id = Australien / Melbourne, Offset = 36000000, dstSavings = 3600000, useDaylight = true, startYear = 0, startMode = 3, startMonth = 9, startDay = 1, startDayOfWeek = 1, startTime = 7200000, startTimeMode = 1, endMode = 3, endMonth = 3, endDay = 1 , endDayOfWeek = 1, endTime = 7200000, endTimeMode = 1]]

Bearbeiten:

Also habe ich mir die Frage angeschaut, die markiert war, und versucht, meine Verbindungszeichenfolge zu ändern, aber es wirft immer noch die gleiche Stack-Trace ab. Unten ist meine neue Verbindungs-URL. Wie Sie sehen können, habe ich die ServerTimezone auf die gedruckte Timezone.getDefault()

geändert %Vor%     
James111 09.06.2016, 07:45
quelle

4 Antworten

21

Stellt fest, dass 6.x nicht kompatibel war und verschoben wurde, um 5.1.39 zu reparieren.

    
James111 09.06.2016, 08:13
quelle
8

versuche, diese Parameter hinzuzufügen.

%Vor%

Ich verwende mysql-connector-java 6.0.4

    
FuSsA 17.09.2016 17:02
quelle
2

Die Ausnahme wird ausgelöst, weil die Zeitzone des MySql-Servers (geerbt von der Systemzeitzone) in einem anderen Format vorliegt, als das, was der mysql-Konnektor erwartet. Sie müssen MySql timezone auf "Australien / Sydney" setzen. Schau dir diese tolle Antwort für Details an: Sollte MySQL seine haben Zeitzone auf UTC eingestellt?

  • Füllen Sie das mysql-Schema mit den Zeitzoneninformationen aus:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

  • von mysql run:

SET GLOBAL time_zone = 'Australia/Sydney';

  • mysql-Server neu starten
gabi.m 26.09.2016 12:35
quelle
1
%Vor%

Verwenden Sie & anstelle von & .

Sie können versuchen, die Zeitzone auch auf mysql zu ändern:

%Vor%

Und sehen Sie die aktuelle Einstellung:

%Vor%     
user2087635 16.03.2017 13:39
quelle

Tags und Links