Klasse "konnte nicht gespeichert werden" - Druckversion +- Forum Notenmanager (https://forum.notenmanager.net) +-- Forum: Schulversion (https://forum.notenmanager.net/forumdisplay.php?fid=22) +--- Forum: Datenaustausch mit WinSV/ASV (https://forum.notenmanager.net/forumdisplay.php?fid=13) +--- Thema: Klasse "konnte nicht gespeichert werden" (/showthread.php?tid=6550) |
Klasse "konnte nicht gespeichert werden" - McFly - 21.09.2016 Hallo, wir haben hier inzwischen erfolgreich die Verbindung zur Postgres-DB geschafft, beim ASV-Import aber hakt's: Keine Klassen! aus dem nmadmin_log.txt geht hervor, dass das wohl was mit einem falschen Zeitstempel ("value out of range") zu tun haben könnte: [21.09.2016 13:52:29 | SMETTLER]# Klasse 5A wird neu erstellt#nmiolib.clsASV_Klassenimport#ImportKlasse##ErrorTypeInfo [21.09.2016 13:52:29 | SMETTLER]# Fehler: 5A konnte nicht gespeichert werden.#ERROR: 22008: date/time field value out of range: "21.02.2017"#ImportKlasse#nmiolib.clsASV_Klassenimport#ErrorTypeWarnung [21.09.2016 13:52:29 | SMETTLER]# Klasse 5B wird neu erstellt#nmiolib.clsASV_Klassenimport#ImportKlasse##ErrorTypeInfo [21.09.2016 13:52:29 | SMETTLER]# Fehler: 5B konnte nicht gespeichert werden.#ERROR: 22008: date/time field value out of range: "21.02.2017"#ImportKlasse#nmiolib.clsASV_Klassenimport#ErrorTypeWarnung [21.09.2016 13:52:29 | SMETTLER]# Klasse 5C wird neu erstellt#nmiolib.clsASV_Klassenimport#ImportKlasse##ErrorTypeInfo [21.09.2016 13:52:29 | SMETTLER]# Fehler: 5C konnte nicht gespeichert werden.#ERROR: 22008: date/time field value out of range: "21.02.2017"#ImportKlasse#nmiolib.clsASV_Klassenimport#ErrorTypeWarnung [21.09.2016 13:52:29 | SMETTLER]# Klasse 5D wird neu erstellt#nmiolib.clsASV_Klassenimport#ImportKlasse##ErrorTypeInfo [21.09.2016 13:52:29 | SMETTLER]# Fehler: 5D konnte nicht gespeichert werden.#ERROR: 22008: date/time field value out of range: "21.02.2017"#ImportKlasse#nmiolib.clsASV_Klassenimport#ErrorTypeWarnung (und so weiter für alle Klassen) Bekanntes Problem mit schneller Lösung oder doch ein unüberwindbares Hindernis? Dankbar für Tipps, LG Jörg RE: Klasse "konnte nicht gespeichert werden" - NM-Himself - 21.09.2016 Hallo Jörg, lass mich raten: Linux Server? Hatte ich eben an einer anderen Schule auch. Normalerweise ist es so, dass sich ein Postgres-Server beim "Gebietsschema" (so heißt es unter Windows, bin jetzt zu faul nachzuschauen, wie das unter Linux heißt) nach dem zugrundeliegenden Betriebssytem richtet. Ist auf dem Server ein deutsches Gebietsschema eingerichtet dann sollte die Funktion "initdb", die normalerweise nach der Installation von Postgres aufgerufen werden sollte, dafür sorgen, dass Postgres das deutsche Datumsformat tt.mm.jjjj versteht. Ist ein englisches Gebietsschema eingestellt (oder initdb wurde nicht ausgeführt), dann erkennt Postgres nur Formate im amerikanischen Format mm/dd/jjjj. Das verursacht jetzt bei euch den Fehler. Folgende Lösung: suche im Datenverzeichnis von Postgres die Datei postgresql.conf (also z. B. C:\Program Files\PostgreSQL\9.4\data). Dort suchst du nach dem Abschnitt "CLIENT CONNECTION DEFAULTS" #------------------------------------------------------------------------------ # CLIENT CONNECTION DEFAULTS #------------------------------------------------------------------------------ # - Statement Behavior - #search_path = '"$user",public' # schema names #default_tablespace = '' # a tablespace name, '' uses the default #temp_tablespaces = '' # a list of tablespace names, '' uses Dort findest du die Zeilen # - Locale and Formatting - datestyle = 'iso, mdy' mdy steht - man kann es erraten - für Month, Day, Year. Ändere das ab in datestyle = 'iso, dmy' Jetzt muss die Konfiguration neu geladen werden. Entweder du startest den Postgresql-Dienst neu oder du verbindest dich mit pgAdmin mit der Datenbank, wählst um Menü "Werkzeuge" und dort "Konfiguration neu laden". Gruß Stephan RE: Klasse "konnte nicht gespeichert werden" - McFly - 21.09.2016 Linux-Server, in der Tat. Bevor wir das jetzt ausprobieren, hat mein Systembetreuer noch die nervöse Frage gestellt, ob man das vorgeschlagene Prozedere einfach so durchführen kann, ohne dass einem dann die ASV aussteigt, deren Datenbank in derselben Postgres-Installation läuft. Was meinst du? Tausendein Dank, Jörg RE: Klasse "konnte nicht gespeichert werden" - NM-Himself - 21.09.2016 Ein vorsichtiger Admin, immer gut. Nein, kein Problem: auf Windows-Servern läuft die Installation für Postgres mit einem Installer, der das "initdb" gleich mit erledigt. Bei allen Postgresql-Installationen (zwei zuhause, vier an verschiedenen Schulen) war dabei immer automatisch "datestyle ='iso,dmy'" eingestellt. Und auf allen läuft auch zusätzlich und ohne Probleme die ASV. Das "Neuladen der Konfiguration" würde ich vielleicht zu einem Zeitpunkt machen, wenn kein ASV-Client läuft. Ich glaube zwar nicht, dass es Probleme machen würde. Es geht ja um "CLIENT CONNECTION DEFAULTS", d. h. die Änderungen werden erst wirksam, wenn sich ein Client neu bei Postgres anmeldet. Aber sicher ist sicher. Gruß Stephan |