Hallo,
folgende Aufgabenstellung, die ich eigentlich für wahnsinnig simpel gehalten habe:
Importiere eine
CSV Datei mit x Spalten in eine Tabelle einer MS
SQL Datenbank.
Behandle die Daten entsprechend verschiedener vorgaben, erstelle Verknüpfungen in der Datenbank, bliblablub
Soweit so einfach.
Ich hab mir gedacht "hey Wahnsinn, wenn Delphi mit schon so tolle Komponenten zur Verfügungs stellt wie TFDBatchmove, TFDBatchMoveTextReader und TFDBatchMoveDatasetWriter" warum nutz ich die nicht einfach. Also alle komponenten auf die Form geschmissen, inkl. FDConnection und lSQL komponente um direkt eine
Query auf den Dataset machen zu können (Die Zuordnung der Felder soll später dynamisch über die
SQL Abfrage laufen also alla "Select AltesFeldInCSV as ZielFeldInMSDEDB from localDataset").
Folgendes Phänomen:
Die Batchmove Komponenten hat eine wunderbare Funktion die sich schimpft "FormatGuessing". Dabei wir die Date Analysiert und im Reader Autoamtisiert Felder angelegt und mit einem entsprechenden Datetyp versehen.
Woran der Reader kläglich Scheitert, ist es eine Simple PLZ korrekt zu analysieren.
Beispiel meiner PLZs
12345
54321
23451
01234
87654
Das Format erkennt er mit den als LongInt und schneidet mir bei dem 01234 die 0 ab, weil LongInt logisch. Da es nunmal eine deutsche Liste ist, gibt es leider keine Buchstaben. Ich habe keine Möglichkeit gefunden den Batchmove dazu zu überreden, mir das richtige Format rauszuspuken. (In meinen Augen, String)
Habt ihr Ideen, Vorschläge? Bin für alles offen.