2016-05-31 13 views
0

Unser Unternehmen wechselte dieses Wochenende von alten AIX-Box-Umgebung zu Windows-Umgebung. Die MySQL-Datenbank wurde von AIX auf Windows 2012-Server verschoben.MySQL geändert zu Windows 2012 und Anwendung wirft Fehler in Datetime-Feld

Die Anwendung gibt Fehler für Datumsfelder für jede Insert-Anweisung. Die MySQL-Version unter Windows ist 5.1.56.

Gibt es eine Datetime-Einstellung auf Datenbankebene, die in der Windows-Umgebung geändert werden muss? Irgendwelche Treiber installiert werden? Die Anwendung läuft auf Java und benötigt möglicherweise viel Zeit, um den Code zu ändern.

+2

Was ist der Fehler, oder sollten wir raten? –

+0

Überall dort, wo die Anwendung ein Datetime-Feld enthält, erhalten wir "Falscher Datum/Uhrzeit-Wert", wenn wir nach der Migration an diesem Wochenende null – SaraDob

+0

haben, können wir keine Nullwerte mehr an Datumsfelder senden. – SaraDob

Antwort

0

Abhängig von der vorherigen MySQL-Version (unter AIX), unten ist ein Link zur Konfiguration von MySQL "SQL-Modus", um einige spezifische Verhaltensweisen in MySQL zu emulieren. (Der Dokumentationslink ist für MySQL 5.5, aber die datumsbezogenen Optionen könnten für MySQL 5.1 identisch sein.) Vielleicht sogar einen Blick auf die Konfigurationsdatei der vorherigen Version von MySQL zu werfen, um zu sehen, ob ein "SQL-Modus" gewesen sein könnte konfiguriert. Der SQL-Modus kann MYSQL auch so einstellen, dass er frühere Versionen von MySQL emuliert.

Ref: http://dev.mysql.com/doc/refman/5.5/en/sql-mode.html

aus den Kommentaren Lesen, eine NULL (oder leer) Zeichenfolge im Ort eines Datums/Zeitstempel-Feld verwenden, sollten in dem Java-Code korrigiert werden, aber vielleicht die Konfiguration des „SQL-Modus“ könnte Ihr Problem kurzfristig abmildern.

+0

Danke. Aber das Team entschied sich dafür, wieder zu AIX-Box zurückzukehren, bis sie vollständig getestet wurde. Behalten Sie diesen Link für die zukünftige Verwendung im Gedächtnis.Vielen Dank für die Forschung – SaraDob