Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#35

AW: AccessDB in csv-Datein umwandeln

  Alt 6. Feb 2015, 18:48
Hauahauaha ... hier sind ja einige Anfänger unterwegens
(Nein, nicht schlagen ... ich bin ja schon lieb )

So dann lösen wir mal das Rätsel:

Dieses ominöse
Code:
FMT=...
wird beim Export nicht ausgewertet. Da kann man auch hinschreiben
Code:
FMT=Oma ihr klein Häuschen;
und man bekommt das gleiche Resultat.

Hintergrund:

In der Registry
Code:
HKLM/SOFTWARE/Microsoft/Jet/4.0/Engines/Text
gibt es einen Eintrag Format und der steht default auf CSVDelimited, was gleichbedeutend mit dem , ist. Und genau das beisst sich mit der (in Deutschland gültigen) Regions-Einstellung für das Dezimaltrennzeichen , .

Man kann jetzt die Registry ändern (doof), die Regionseinstellungen ändern (noch doofer ) oder man schreibt in das Export-Verzeichnis eine schema.ini (wurde hier auch schon genannt).

Hier wird also für jede Exportdatei eine Sektion angelegt die folgende Einträge zwingend enthalten muss (beispielhaft für die Categories.csv)
Code:
[Categories.csv]
Format=Delimited(;)
oder, wenn es eine Komma-getrennte Datei werden soll
Code:
[Categories.csv]
Format=CSVDelimited
DecimalSymbol=.
CurrencyDecimalSymbol=.
Alle weiteren Möglichkeiten der Konfiguration finden sich im oben angegebenen Link.

Das dazu passende Export-Statement lautet also
SQL-Code:
SELECT *
INTO [Text;HDR=Yes;DATABASE=C:\DBLoesungen;].[Categories.csv]
FROM Categories;
So dann noch ein fröhliches Exportieren
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 6. Feb 2015 um 18:52 Uhr)
  Mit Zitat antworten Zitat