![]() |
Paradox-Dateien mit BatchMove nach TXT oder CSV übertragen
Hallo Leute,
immer wieder gibt es einen Hinweis auf BatchMove im Zusammenhang mit Daten-Transfers. Leider gibt es nur wenige nachvollziehbare Beispiele. Ich möchte also meine vorhandene funktionsfähige Fassung des Exports meiner DB-Daten ( ![]() Den Hinweisen MrSpock's folgend habe ich mir alle Ergebnisse von "Suche nach BatchMove" angesehen und damit angefangen:
Code:
Das Ergebnis ist nicht befriedigend. Umlaute werden nicht korrekt gewandelt. Bei Ausgabe auf CSV stehen alle DB-Felder hintereinander durch Leerzeichen entsprechnd der Feldgröße getrennt in Spalte A. Bei Ausgabe auf TXT muß ich noch mühsehlig in Excel die korrekte Trennung der Spalten eingeben.
procedure TFBrowser.ExportAlsExcelCSVDatei1Click(Sender: TObject);
var i : byte; begin //Tab1 ist eine geöffnete *.DB-Datei und wird in einem DBGrid angezeigt if not Tab1.Active then begin ShowMessage('Welche Datei?'); exit; end; Tab2.DatabaseName := Tab1.DatabaseName; Tab2.TableName := ChangeFileExt(Tab1.TableName, '.TXT'); //CSV auch probiert Tab2.TableType := ttASCII; // Tab2 muss noch nicht existieren BatchMove1.Source := Tab1; BatchMove1.Destination := Tab2; BatchMove1.Mode := batCopy; BatchMove1.Execute; end; Diese Aussage der online-Hilfe: "ttASCII Die Tabelle ist eine Comma-Delimited-Textdatei mit Strings in Anführungszeichen für jedes Feld." kann ich bisher nicht bestätigen. Ich habe weder Kommata als Trennzeichen noch Anführungsstriche in der erzeugten *.TXT-Datei gefunden. Kann jemand bei der Lösung der Probleme helfen? mfg eddy |
Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag
Hallo eddy,
das Stichwort dazu heißt Schemafile. Zu einer ASCII Datei (wie CSV) kannst oder in deinem Fall musst du ein Schemafile erstellen (mit der Endung .SCH), in dem du den Trenner usw. festlegst: Z.B.: [CUSTOMER] // File name with no extension. FILETYPE = VARYING // Format: VARYING or FIXED CHARSET = ascii // Language driver name. DELIMITER = " // Delimiter for char fields. SEPARATOR = , // Separator character ... |
Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag
Hallo MrSpock,
ich hab' mal unter dem Begriff "Schemafile" herumgesucht. Für mich sieht das nicht einfacher aus, wenn ich für jede Datei, die ich exportieren will, vorher eine *.SCH-Datei erzeugen muß. Und selbst wenn mir das gelingen sollte, wie stelle ich die Verbindung zwischen meiner 2CSV.SCH - Datei und dem Export einer beliebigen *.DB über BatchMove her? mfg eddy |
Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag
Zitat:
|
Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag
Hallo r_kerber,
wenn ich das richtig interpretiere, bedeutet dies, daß ich für jede von DB nach CSV zu transferierende Datenbank eine eigene *.SCH-File erzeugen muß, in der die entsprechenden Parameter und Felder angegeben werden. Das sieht für mich aber nicht besonders einfacher aus, als die Variante von Specialwork, in seiner unit QueryExport hinterlegt, die einmal eingebunden bisher gut funktioniert hat: ![]() Habe diese SCH-File, die offensichtlich mit dem oben angegebenen Programmtext automatisch angelegt wurde gefunden. Die Bedeutung der letzten beiden Zahlenwerte ist mir bisher verborgen geblieben. PARAM.SCH [PARAM] Filetype=Fixed CharSet=ascii Field1=ID,Long Integer,11,00,00 Field2=Block,Long Integer,11,00,11 Field3=Kurz,Char,60,00,22 Field4=Wert,Char,128,00,82 Field5=Typ,Char,01,00,210 Field6=Lang,Char,254,00,211 Nach folgender Änderung: [PARAM] Filetype=VARYING CharSet=ascii Delimiter = " Separator = ; Field1=ID,Long Integer,11,00,00 Field2=Block,Long Integer,11,00,11 Field3=Kurz,Char,60,00,22 Field4=Wert,Char,128,00,82 Field5=Typ,Char,01,00,210 Field6=Lang,Char,254,00,211 wurden meine Änderungen wieder durch die automatisch erzeugte Variante ersetzt. Gibt es eine Anweisung BatchMove.<Benutze meine Param.SCH-Datei> ? mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz