Fremdcoding

In Allerlei

Heute durfte ich einen Kollegen unterstützen, der ein Problem mit fremdem Code hatte. Beim Speichern eines Objektbaums gab es immer eine Oracle-Exception, dass ein Wert zu gross für die Spalte ist. Oracle 9 ist da leider auch sehr sparsam mit der Fehlermeldung und sagt weder, welche Tabelle noch welches Feld gemeint ist. Nach einiger Suche haben wir dann auch herausgefunden, woran es lag – in der Hausnummer des zu speichernden Datensatzes. Die Quelldaten sahen nämlich so aus:

Irgendeinestrasse / Nochnestrasse

Es gab in den Quelldaten halt keine getrennten Felder für Strasse und Hausnummer, daher gibts in dem Importer eine Split-Routine. Nur hat die geschickterweise einfach bei Leerzeichen gesplittet und den letzten Teil als Hausnummer deklariert, ohne zu prüfen, ob überhaupt irgendeine Zahl drin vorkommt. So stand dann in unserem schönen Objekt als Hausnummer ein “Nochnestrasse” drin, was Oracle nicht in die paar Zeichen dafür reinquetschen wollte. Supertoll.