Einzelnen Beitrag anzeigen

fisipjm

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

CSV Textdatei in Memtable laden und mit Query abfragen

  Alt 20. Okt 2022, 14:56
Datenbank: SQLite • Version: 1.0 • Zugriff über: Firedac
Hi,

Ich steh mal wieder auf Kriegsfuß mit den Batchmove komponenten oder der Memtable, da bin ich mir tatsächlich nicht ganz sicher

Ich möchte folgendes Erreichen:
Ich habe CSV Dateien (Der Aufbau und die Zusammensetzung sind hier egal, das einzige was zählt, sie sind Syntaktisch korrekt) die CSV Dateien möchte ich am Schluss in der Form im Programm haben, dass ich Sie mit Standard SQL abfragen kann. Es soll keine Zusätzliche Connection zu einem externen DBMS nötig sein, also habe ich folgedes versucht, das eigentlich auch soweit schon funktioniert.

BatchmoveTextReader --> Liest CSV
BatchmoveDatasetWriter --> Schreibt in Memtabale
FDconnection, LocalSQL und SQLitePhysLink --> Kümmern sich brav darum die Memtable im Speicher zur Verfügung zu stellen
FDQuery --> Quatscht brav mit der Memtable über die LocalSQL Anbindung
Batchmove --> Kümmer sich um dasd "Felder Raten" und die Anlage der korrepondierenden Felder in der Memtable

Mein Problem ist folgendes, beim ersten mal ausführen von FDBatchmove.GuessFormat und FDBtchmove.Execute werden automatisch in der Memtable die Fielddefs erstellt. Leider bekomme ich diesen Prozess im Code nicht wiederholt, so dass ich als nächstes eine andere Datei einlesen kann. Ich bekomme dann die unterschiedlichsten Fehlermeldungen. Entweder, dass die Quell und Zielfelder nicht passen, das die Datenmenge nicht offen ist, dass die Datenmenge nicht initialisiert ist... ich dreh mich irgendwie im Kreis.

Die Frage ist also, wie bekomme ich die Batchmove komponenten dazu überredet, bei einem 2. durchlauf, die Felder in meiner Memtable wieder neu zu erstellen?
  Mit Zitat antworten Zitat