Technische Probleme und Lösungen

Aus GEVITAS
Wechseln zu: Navigation, Suche

1 Technische Probleme und Lösungen

Dieser Artikel beschreibt allgemeine technische Problem und deren Lösungsmöglichkeiten, die nicht einem bestimmten Programm oder Programmteil zugeordnet werden können.

2 Datenbanken

2.1 ORACLE

2.1.1 Fehlerhafte Datums-Inhalte

Problem:

Bei Öffnen oder Anzeigen bestimmter Daten (z.B. von bestimmten Artikeln in den Artikel-Stammdaten) wird folgende Fehlermeldung angezeigt:


Fehler bei einem aus mehreren Schritten bestehenden Vorgang. Prüfen Sie die einzelnen Statuswerte.


Ursache:

Mit dem zeitweise verwendeten Original-Oracle©-Treiber wurden in Datumsfelder ungültige Werte geschrieben, z.B. wurde aus "17.06.2013" der "20.06.0017"!

Für den Datenbanktreiber ADO sind diese Werte ungültig und können weder angezeigt noch verarbeitet werden!

  • Hinweis:
Ältere Programm verwendeten den veralteten Datenbanktreiber BDE. Die BDE ist zwar alt, hatte aber manches besser gemacht und solche Fehler "ausgebügelt", indem unerwartete Werte automatisch konvertiert wurden. ADO ist da anders und reicht die empfangenen Daten einfach 1:1 an die Software weiter. Das geht schneller aber manchmal schief.


Lösung:

Die Lösung des Problems ist nur server-seitig möglich!

Die Schwierigkeit ist, dass man auf der Software-Seite keine Chance hat, auf die ungültigen Werte zuzugreifen um diese z.B. zu analysieren und zu korrigieren.

Die einzige derzeit bekannte Lösung besteht derzeit aus dem Ausführen eines SQL-Scripts, der ungültige Datumsangabe auf ein gültiges Datum setzt.

Im konkreten Fall ging es um das Änderungsdatum der Einzelartikel, das mit diesem SQL-Script korrigiert wurde:


Update marteinz set anddat='01.01.2011' where anddat < '01.01.1900';
commit;

  • Hinweis:
Das "commit" ist unter ORACLE zwingend erforderlich, damit die Änderungen auch in die Datenbank übernommen werden!

3 Links