Einzelnen Beitrag anzeigen

fisipjm

Registriert seit: 28. Okt 2013
251 Beiträge
 
#1

TFDBatchMove scheitert an korrekter PLZ erkennung

  Alt 3. Mär 2022, 15:55
Datenbank: MSSQL • Version: xxx • Zugriff über: Firedac
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.
  Mit Zitat antworten Zitat