Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Daten aus OracleDB mit Delphi in csv exportieren (https://www.delphipraxis.net/183973-daten-aus-oracledb-mit-delphi-csv-exportieren.html)

ThomasBab 20. Feb 2015 15:06

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von BadenPower (Beitrag 1290765)

Wenn dies für Dich der richtige Weg ist, dann ok.

Aber das CSV-Format ist ja nicht Excel vorbehalten, sondern allgemein zur Weitergabe von Daten mehr oder weniger geeignet.

Das ist korrekt. Ich hatte einmal einen Fall, da war sogar innerhalb der einzelnen Felder ein CR/LF (und ja das ist auch zulässig; Libre/Open Office können das schon seit Jahren importieren).

Da muss man dann seine Faulheit etwas überwinden und ein paar Klimmzüge mehr machen.

blema 20. Feb 2015 15:19

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von BadenPower (Beitrag 1290767)
So, und genau das würde bei Dir dann auch passieren, wenn in Deinen Daten, welche Du aus der Datenbank herausliesst das Trennzeichen vorkommt.

Also zum Beispiel, wenn Dein Trennzeichen ',' ist und in Deinen Daten welche Du ausliesst der Text 'Er, du und ich' steht.

ok, verstehe... Ja, deswegen habe ich das Semikolon als Trennzeichen gewählt. Und es funktioniert.

BadenPower 20. Feb 2015 15:28

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von blema (Beitrag 1290773)
ok, verstehe... Ja, deswegen habe ich das Semikolon als Trennzeichen gewählt. Und es funktioniert.

Ich glaube immer noch nicht, dass Du das Problem siehst.

Du hast jetzt ';' als Trennzeichen gewählt. Wenn nun in Deinen Daten irgendwo eben dieses Zeichen vorkommt, dann haben wir bei Einlesen wieder das Problem, dass die Spalten nicht richtig gesetzt werden.

Du musst in Deiner Schreibroutine dafür sorgen, dass in Deinen Daten aus der Tabelle nach dem Zeichen gesucht wird, welches Du als Trennzeichen ausgewählt hast und alle vorkommenden Zeichen dieses Typs "escapen".

blema 20. Feb 2015 15:43

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Ich glaube immer noch nicht, dass Du das Problem siehst.
Ich sehe das Problem ein, klar. Aber
Zitat:

Du musst in Deiner Schreibroutine dafür sorgen, dass in Deinen Daten aus der Tabelle nach dem Zeichen gesucht wird, welches Du als Trennzeichen ausgewählt hast und alle vorkommenden Zeichen dieses Typs "escapen".
wenn ich wüsste wie?!:?

jobo 21. Feb 2015 07:09

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von blema (Beitrag 1290776)
wenn ich wüsste wie?!:?

aus der RFC 4180
Zitat:

CSV is a simple format for representing a rectangular array (matrix) of numeric and textual values. It an example of a "flat file" format. It is a delimited data format that has fields/columns separated by the comma character %x2C (Hex 2C) and records/rows/lines separated by characters indicating a line break. RFC 4180 stipulates the use of CRLF pairs to denote line breaks, where CR is %x0D (Hex 0D) and LF is %x0A (Hex 0A). Each line should contain the same number of fields. Fields that contain a special character (comma, CR, LF, or double quote), must be "escaped" by enclosing them in double quotes (Hex 22). An optional header line may appear as the first line of the file with the same format as normal record lines. This header will contain names corresponding to the fields in the file and should contain the same number of fields as the records in the rest of the file. CSV commonly employs US-ASCII as character set, but other character sets are permitted.

p80286 21. Feb 2015 09:49

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Also um es mal ganz einfach zu machen:
Code:
"Feld1"trenner"Feld2"trenner"Feld3"...."Feld99"trenner"Feld100"
Jedes Feld in " einschließen, und als trenner ein beliebiges Zeichen vorzugsweise , oder ; oder [tab] wählen.

Hat allerdings den Nachteil, daß numerische Werte nicht automatisch als numerisch erkannt werden.

Gruß
K-H

Sir Rufo 21. Feb 2015 14:00

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von p80286 (Beitrag 1290836)
Also um es mal ganz einfach zu machen:
Code:
"Feld1"trenner"Feld2"trenner"Feld3"...."Feld99"trenner"Feld100"
Jedes Feld in " einschließen, und als trenner ein beliebiges Zeichen vorzugsweise , oder ; oder [tab] wählen.

Hat allerdings den Nachteil, daß numerische Werte nicht automatisch als numerisch erkannt werden.

... und wenn in einem Feld das Quote-Zeichen " enthalten ist ... :stupid:

Olli73 21. Feb 2015 14:14

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von Sir Rufo (Beitrag 1290860)
... und wenn in einem Feld das Quote-Zeichen " enthalten ist ... :stupid:

Dann muss der "Importeur" sich (z.B. mittels regulären Ausdrücken) etwas basteln, das aus den Anführungszeichen innerhalb des Textes jeweils 2 Anführungszeichen macht und darf den "Exporteur" verfluchen. Alles schon erlebt. :shock:

BadenPower 21. Feb 2015 14:20

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von Olli73 (Beitrag 1290861)
Dann muss der "Importeur" sich (z.B. mittels regulären Ausdrücken) etwas basteln, das aus den Anführungszeichen innerhalb des Textes jeweils 2 Anführungszeichen macht und darf den "Exporteur" verfluchen.

Ich bin der Meinung, dass das auf jeden Fall Sache des "Exporteurs" ist.

Aber jetzt sag ich nichts mehr dazu, denn das Zauberwort hab ich bestimmt schon gefühlte 1000mal in diesem Thread gepostet.

Olli73 21. Feb 2015 14:24

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von BadenPower (Beitrag 1290862)
Ich bin der Meinung, dass das auf jeden Fall Sache des "Exporteurs" ist.

Da stimme ich dir zu. Aber wenn der Prophet nicht zum Berg kommt, dann ... (oder wie das heißt).

Sir Rufo 21. Feb 2015 14:32

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Also wenn ich es wäre, der das müsste, dann würde ich z.B. einen Delphi-Referenz durchsuchenTFormatSettings Record an den CSV-Exporter übergeben, den zunächst validieren und dann anhand dieser Vorgaben die Daten aufbereiten.

Schon bekommt man immer das schönste CSV-Gedöns heraus. Eine schema.ini würde ich auch noch erzeugen und diese mit ausliefern. Dann ist alles für den erfolgreichen und unbeschwerten Import vorbereitet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.
Seite 2 von 2     12   

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