AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Paradox-Dateien mit BatchMove nach TXT oder CSV übertragen
Thema durchsuchen
Ansicht
Themen-Optionen

Paradox-Dateien mit BatchMove nach TXT oder CSV übertragen

Ein Thema von eddy · begonnen am 28. Okt 2003 · letzter Beitrag vom 28. Okt 2003
Antwort Antwort
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#1

Paradox-Dateien mit BatchMove nach TXT oder CSV übertragen

  Alt 28. Okt 2003, 10:17
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 (paradox-daten als csv speichern von Specialwork übernommen) in eine von Excel einlesbare CSV-Datei mit Hilfe von BatchMove realisieren.

Den Hinweisen MrSpock's folgend habe ich mir alle Ergebnisse von "Suche nach BatchMove" angesehen und damit angefangen:

Code:
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;
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.

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
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag

  Alt 28. Okt 2003, 11:27
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
...
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#3

Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag

  Alt 28. Okt 2003, 14:13
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
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#4

Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag

  Alt 28. Okt 2003, 14:31
Zitat von eddy:
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?
Ich glaube über die Namensgleichheit: tabelle.csv und tabelle.sch
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#5

Re: Paradox-Dateien mit BatchMove nach TXT oder CSV übertrag

  Alt 28. Okt 2003, 14:57
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:
paradox-daten als csv speichern


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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz