SyntaxError oder die Aussagekraft von Fehlermeldungen

Django, Flask, Bottle, WSGI, CGI…
Antworten
hitch
User
Beiträge: 4
Registriert: Dienstag 16. Oktober 2007, 11:18

Hallo Forum, ich bin der Neue :D

Ich muss eine Zopeinstallation von einen alten Server auf einen Neuen umziehen. Da das ist mein erster Kontakt mit Zope ist, geben mir die Fehlermeldungen von Zope oft Rätsel auf. Ich habe leider nichts gefunden um "bessere" Fehlerbeschreibungen zu enthalten. Gibts noch weitere Möglichkeiten als die Ausgabe im ZMI?

Konkret zu meinem Problem:
Über ein paar handmade Pythonskripte in Zope soll eine PostGre DB angesprochen werden. Die DB ist connected und mit einigen SQL Anweisungen im Reiter "Test" überprüft. Bei der Abfrage von manchen Tabellen erhalte ich aber Fehlermeldungen wie diese:

Code: Alles auswählen

Site Error

An error was encountered while publishing this resource.

Error Type: SyntaxError
Error Value: 1993-03-10 15:00:00+01
Als Value befindet sich dort immer eine Zeitangabe. So und nu, weis ich nicht mehr weiter :?
Es kann ja eigentlich nicht an der Zeitangabe liegen. Ich hab nun keinen Plan wo ich weiter suchen soll. Auf den alten Server läufts natürlich.

Noch ein paar Facts zur Installation:

Alter Server: Zope 2.5,Python 2.2, PostGre 7.2, ZPoPyDA
Neuer: Zope 2.7.7, Python 2.4.1, PostGre 8.0, ZPsycopgDA

Danke für Tipps
Marcus
hitch
User
Beiträge: 4
Registriert: Dienstag 16. Oktober 2007, 11:18

So, es liegt doch an der Zeitangabe.

Alle SQL Abfragen funktionieren, nur die nicht, in denen Zope so eine Zeitangabe ausgeben muss.
Der Typ dieser Spalte ist "timestamp with time zone"
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

hitch hat geschrieben:Ich muss eine Zopeinstallation von einen alten Server auf einen Neuen umziehen. Da das ist mein erster Kontakt mit Zope ist
[...]
Gibts noch weitere Möglichkeiten als die Ausgabe im ZMI?
[...]
Alter Server: Zope 2.5,Python 2.2, PostGre 7.2, ZPoPyDA
Neuer: Zope 2.7.7, Python 2.4.1, PostGre 8.0, ZPsycopgDA
Hallo Marcus!

Willkommen im Python-Forum!

Einem Zope-Anfänger sollte man so eine schwierige Aufgabe nicht übergeben. Es ist oft auch für Profis sehr schwer, eine Installation von einer älteren Zope-Version auf eine neuere Zope-Version zu überführen.

Du kannst Zope in den Debug-Modus (über die zope.conf) versetzen und auch händisch starten. Dann bekommst du im Konsolenfenster bessere Fehlermeldungen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
hitch
User
Beiträge: 4
Registriert: Dienstag 16. Oktober 2007, 11:18

Danke für die Antwort
gerold hat geschrieben:Einem Zope-Anfänger sollte man so eine schwierige Aufgabe nicht übergeben.
Unsere Zope Expertin hat uns vor kurzem verlassen, daher muss jetzt die 2. Garde ran
gerold hat geschrieben:Du kannst Zope in den Debug-Modus (über die zope.conf) versetzen und auch händisch starten. Dann bekommst du im Konsolenfenster bessere Fehlermeldungen.
Hat jetzt nicht sooviel gebracht, da Zope im Debug Modus wegen 2 Warnings nicht mehr startet. Die haben aber, glaub ich, nichts mit dem Problem zu tun.
Aber beim nochmaligen Durchsehen der Logs, bin darauf gekommen, wie man die genaue Fehlerstelle besser eingrenzen kann.
Dazu hab ich gerade mein erstes Pythonskript erstellt. 8)
Ein einfache SELECT Abfrage und mit print ausgegeben.

Code: Alles auswählen

python my1python.py
Zeile: 0 ID: 555 Datum: 1993-11-27 20:15:00+01:00
Daher schließe ich ein Pythonfehler schonmal aus.
Wenn ich mir das genaue Format der Zeitangabe zwischen Zope und Python vergleiche, fehlen die letzten drei Zeichen.
Jetzt habe ich die Vermutung es liegt an diesem Bug:
https://bugs.launchpad.net/zope2/+bug/143070
hitch
User
Beiträge: 4
Registriert: Dienstag 16. Oktober 2007, 11:18

Wer sich nun für des Rätsels Lösung intererssiert, bitte sehr:
Schuld war eine nicht/falsch gesetzte locale.
Nachdem folgende Einstellung in /etc/sysconfig/zope vorgenomen hatte, gings.

Code: Alles auswählen

ZOPE_LANG="de_DE"
imbabura
User
Beiträge: 9
Registriert: Donnerstag 27. September 2007, 11:52

hitch hat geschrieben:Wer sich nun für des Rätsels Lösung intererssiert, bitte sehr:
Schuld war eine nicht/falsch gesetzte locale.
Nachdem folgende Einstellung in /etc/sysconfig/zope vorgenomen hatte, gings.

Code: Alles auswählen

ZOPE_LANG="de_DE"
So ist es bei meinen kleinen Gehversuchen mit python und zope auch.
Des Rätsels Lösung ist meist sehr einfach, der Weg dahin für
den Neuling aber oft relativ lang...
Antworten