Archiv für den Monat: März 2015

SQL hat BOM gemacht: „Unexpected Token:“

Man hat mit Spring eine Testinfrastruktur schnell hochgezogen und immer mehr kommt hinzu. Schließlich schickt ein Kollege für einen speziellen Unit-Test eine SQL-Datei (PostgreSQL). SQL eingeladen und „Unexpected Token:“. Nichts weiter, kein Anhaltspunkt, leerer String. Ok, ich verwende HSQL-DB aber einfach SQL-Updates sollten nun wirklich nicht so verschieden sein.

Da erinnerte ich mich, eines ganz bestimmten Falles und sah mir die Datei im ‚vi‘ an. Keine Auffälligkeiten. Anschließend benutzete ich den Befehl ‚file‘. Und siehe da: Der Kollege benutzte ein Apfel-Betriebssystem und schickte mir das SQL mit einem heimtückischen BOM. Das brachte es mit sich, dass die ersten unsichtbaren 3 Bytes mit zur Datenbank gelangten, somit gleich der Anfang der ein defektes Token darstellt und folgerichtig das unexpected Token leer angezeigt wurde. Nun diesen unerwünschten Prefix des Datenstromes gelöscht und alles funktioniert, wie es soll.

Übrigens könnte man sich doch manchmal an Befehle wie ‚iconv -f ISO-8859-1 -t utf-8 FILE‘ erinnern.