Delphi-PRAXiS
Seite 1 von 2  1 2      

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)

blema 16. Feb 2015 23:05

Datenbank: oracle • Version: ? • Zugriff über: delphi XE7

Daten aus OracleDB mit Delphi in csv exportieren
 
Hi,
ich muss für mein Praktikum einer Schnittstellenapplikation mit Delphi erstellen, um einer CSV-Datei aus selektierten Daten einer Oracle-Datenbank zu erzeugen.

* wie kann ich die Verbindung von Delphi zur Oracle-DB erstellen. Läuft das ähnlich wie der Zugriff auf AccessDB mit Hilfe der Komponenten: ADOConnection, ADOQuery und ADODataSet?

* Delphi -> In einer Maske muss ich Selektionsparameter abfragen: z.B: Kunde, Tarif, Jahr
vlt.: TEdit un/oder TListBox

* Ausgabe aus dieser Selektion: Verbrauch

* dann, die asugbae in csv mit bestimmten Spalten, wie: Kundennr., Kundenname, Tarif, telnr, verbrauch, zeitraum/datum etc.

Hat jemand vlt. ein kleines Beispiel?

Es wäre sehr hilfreich...

VG blema

Sherlock 17. Feb 2015 07:48

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
1) Hat die Firma für die Du das machst keine weiteren Informationen, Werkzeuge oder gar Betreuer geliefert? Tolle Praktikumsstelle, ganz ehrlich!
2) Wenn Du XE7 Enterprise hast, dann darfst Du Dich per FireDac mit Oracle verbinden http://docwiki.embarcadero.com/RADSt..._%28FireDAC%29
3) SQL selects musst Du schon drauf haben, das ist elementar. Hier kanst Du was lernen: http://www.oracle.com/technetwork/is...l-1408573.html
4) Die Ergebnismenge des Selects lässt sich recht einfach verwerten: Grundsätzlich empfehel ich hier mal reinzuschauen: http://delphi.about.com/od/database/...rogramming.htm


Viel Erfolg!

Sherlock

blema 17. Feb 2015 08:42

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hi Sherlok,

Zitat:

Zitat von Sherlock (Beitrag 1290132)
1) Hat die Firma für die Du das machst keine weiteren Informationen, Werkzeuge oder gar Betreuer geliefert? Tolle Praktikumsstelle, ganz ehrlich!

- Leider keine weitere informationen. Ich soll selber eine Lösung finden ?!
- als Werkzeug oder Programme: Delphi XE7 Trial Version, Toad for Oracle(Zugriffstool zu Datenanalyse)
- Oracle-Client v11 installiert
- TNSNAMES.ORA auch in den Ordner reinkopiert, wo der oracle-client installiert ist

Zitat:

3) SQL selects musst Du schon drauf haben, das ist elementar. Hier kanst Du was lernen: http://www.oracle.com/technetwork/is...l-1408573.html
- mit SQL Select geht. Also ABfragen und Tabelle Joinn-en schaff ich noch :-)

Danke erstmal...

VG blema

Sherlock 17. Feb 2015 10:33

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Na, dann muss ja FireDAC mit drin sein.
Mach Dir ein neues VCL-Projekt und leg auf die leere Form folgende Komponetnen ab:
  • TFDConnection
  • TFDQuery

In der Connection gibst Du unter Params zumindest DataBase, UserName und Password an. In der Query musst du die Property Connection auf die TFDConnection, die Du eben eingefügt hast setzen. die Query führt kann per Rechtsklick zum Abfrageeditor, indem Du das SQL eingeben kannst.

Zum Programmlauf solltest Du zum passenden Zeitpunkt die Connection herstellen, indem Du die
Delphi-Quellcode:
Online
Methode verwendest. Die Query führst Du per
Delphi-Quellcode:
Open
aus. Auf die Felder eines Ergebnissatzes (also einem Satz aus der Ergebnismenge) kommst Du mit
Delphi-Quellcode:
Query.FieldByName('EinDBFeld').asInteger
.

Das sollte Dir sehr viel helfen.

Das CSV ist am Ende nicht weiter schwer, das müsstest Du Dir zusammensuchen können.

Sherlock

blema 17. Feb 2015 11:44

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Die Komponenten TFDConnection und TFDQuery sind da...

Ich habe deine Anweisungen befolgt, aber es läuft immer noch nicht?!
  • Database: myDB_123
  • DriverID: Ora
  • Password: xxxxx
  • userName: system

    Unter
    Code:
    Oracle ODBC Driver Configuration
    habe ich als Treiber
    Code:
    Oracle in OraClient11g_home1
    ... dann:
    • DataSource Name: myDB_123
    • Description: das Feld ist leer
    • TNS Server Name: HSNR
    • UserID: system
    Code:
    Test Connection
    erfolgreich!
Zitat:

Das CSV ist am Ende nicht weiter schwer, das müsstest Du Dir zusammensuchen können.
Hast Du vlt. ein kleines Beispiel?

mikhal 17. Feb 2015 12:12

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Die schicken dich mit Admin-Rechten auf die Oracle-Datenbank? Au Mann...

Du schriebst, dass die TNSNAMES vorhanden ist: liegt sie auch tatsächlich unter network/ADMIN (oder ähnlich)?

Dann solltest du mal da rein schauen und dir die Verbindungsdaten dort herauslesen (bis auf den Benutzer...).

Grüße
Mikhal

Sherlock 17. Feb 2015 12:13

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Jetzt musst Du doch erstmal nur die Query mit nem SQL beglücken. Dann ausführen und Du bekommst Satzweise eine Ergebnismenge. Hier mal ein Ansatz für den csv-Export:
http://stackoverflow.com/questions/5...ve-to-csv-file

Sherlock

blema 17. Feb 2015 13:08

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

Zitat von mikhal (Beitrag 1290177)
Die schicken dich mit Admin-Rechten auf die Oracle-Datenbank? Au Mann...

Es ist eine Kopie oder Test-DB für übungszwecken.

Zitat:

Du schriebst, dass die TNSNAMES vorhanden ist: liegt sie auch tatsächlich unter network/ADMIN (oder ähnlich)?
ALso, da hat es schon mal geklappt(Verwaltung->ODB Treiber usw.)... aber vom Delphi aus, kann ich keine Verbindung aufbauen.

blema 17. Feb 2015 13:11

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

Zitat von Sherlock (Beitrag 1290178)
Jetzt musst Du doch erstmal nur die Query mit nem SQL beglücken. Dann ausführen und Du bekommst Satzweise eine Ergebnismenge. Hier mal ein Ansatz für den csv-Export:
http://stackoverflow.com/questions/5...ve-to-csv-file

Sherlock

ich muss erstmal die verbindung aufbauen, dann klappt es vlt.


Aber, danke

VG blema

mikhal 17. Feb 2015 13:21

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
zu FireDAC kann ich dir nichts sagen, habe hier nur den lokalen Zugriff, müsste ich mir zu Hause anschauen. Ich setze hier UniDAC von Devart ein, ist das Pendant zu FireDac, aber...

Ein guter Anfang wäre ein Doppelklick auf die Komponenten FdConnection.

Grüße
Mikhal

blema 17. Feb 2015 13:47

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

Zitat von mikhal (Beitrag 1290193)
Ein guter Anfang wäre ein Doppelklick auf die Komponenten FdConnection.

Naja, soweit bin ich :-). Der Sherlock hat mir netterweise sehr gut beschrieben!

blema 18. Feb 2015 13:51

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hi,

der Zugriff auf Oracle-DB funktioniert. Ich habe mit folgende Komponenten hingekriegt:
  • FDConnection und
  • FDQuery
ich kann mir auch Datensätze auf DBGrid anzeigen lassen.

ich bedanke mich.

Jetzt muss ich "nur noch" den csv-Export in Delphi programmieren.

Vielen DAnk.

VG blema

blema 19. Feb 2015 15:05

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hallo,
ich habe schon par Testdaten aus OraDB in csv exportieren können, aber es fehlt der Spaltenname der Tabelle.
kann mir bitte eine dabei helfen.

Delphi-Quellcode:
procedure TForm1.Export_Button2Click(Sender: TObject);
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    while not FDQuery1.Eof do
    begin
      //SpaltenName := '';
      DatenFeld := '';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        if DatenFeld > '' then
          DatenFeld := DatenFeld + '';
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
danke vorab

VG blema

Klaus01 19. Feb 2015 15:29

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hallo,

da ich FD nicht kenne nur ein Schuss ins Blaue..

Gibt es da nicht
Delphi-Quellcode:
FDQuery1.Fields.GetFieldNames(list: TStrings)
Was Dir die Feldname in einer Liste übergibt.

Die Felder könntest Du dann mit ihren Feldname anstatt ihrer Indizes ansprechen.

Grüße
Klaus

Jumpy 19. Feb 2015 15:40

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Die Spaltennamen aber bitte nicht da schreiben, wo dein Kommentar steht, sondern vor der while-Schleife! Evtl geht dann auch ein FDQuery1.Fields[I].Fieldname (kenne FD auch nicht) analog zu deinem bisherigen Code:
Delphi-Quellcode:
for I := 0 to FDQuery1.FieldCount - 1 do
begin
  if DatenFeld > '' then
    DatenFeld := DatenFeld + '';
  DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].Fieldname + ' | ';
end;

blema 19. Feb 2015 16:15

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hi, ich habe gerade das in meinem Programm eingebaut, aber es ist immer noch wie unter #13. Kein Fehler aber auch keine SpaltenName.
Code:
var
  List: TStringList;
  bm: TBookmark;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    for I := 0 to FDQuery1.FieldCount - 1 do
    begin
      if SpaltenName > '' then
        SpaltenName := SpaltenName + '';
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname;
    end;
    while not FDQuery1.Eof do
    begin
      DatenFeld := '';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        if DatenFeld > '' then
          DatenFeld := DatenFeld + '';
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
VG blema

BadenPower 19. Feb 2015 16:29

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Ich hab auf die Schnelle jetzt keinen Fehler gefunden, aber was sollen diese Zeilen denn bewirken, ausser nichts:

Delphi-Quellcode:
if SpaltenName > '' then
        SpaltenName := SpaltenName + '';
Delphi-Quellcode:
if DatenFeld > '' then
         DatenFeld := DatenFeld + '';

blema 19. Feb 2015 16:39

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
ok, bei SpaltenName ist unnötig, aber bei DatenFeld, wenn in einem Feld nichts steht, soll das auch in csv dargestellt werden können!

VG blema

BadenPower 19. Feb 2015 16:44

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

Zitat von blema (Beitrag 1290643)
ok, bei SpaltenName ist unnötig, aber bei DatenFeld, wenn in einem Feld nichts steht, soll das auch in csv dargestellt werden können!

VG blema

Da wird aber nichts gemacht.

Delphi-Quellcode:
if DatenFeld > '' then
       DatenFeld := DatenFeld + '';
Du hängst an Datenfeld einen leeren String an und daher kannst Du Dir das sparen.

Und dann kommt die nächste Zeile, welche immer ausgeführt wird.
Delphi-Quellcode:
DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';

jobo 19. Feb 2015 16:58

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

Zitat von blema (Beitrag 1290638)
Hi, ich habe gerade das in meinem Programm eingebaut, aber es ist immer noch wie unter #13. Kein Fehler aber auch keine SpaltenName.

Ich sehe nicht, wo der Wert Spaltenname ausgegeben wird. Das hast Du wohl vergessen.

Jumpy 20. Feb 2015 08:07

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

Zitat von jobo (Beitrag 1290650)
Zitat:

Zitat von blema (Beitrag 1290638)
Hi, ich habe gerade das in meinem Programm eingebaut, aber es ist immer noch wie unter #13. Kein Fehler aber auch keine SpaltenName.

Ich sehe nicht, wo der Wert Spaltenname ausgegeben wird. Das hast Du wohl vergessen.

Sprich es fehlt ein List.Add(Spaltenname)

jobo 20. Feb 2015 08:10

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

Zitat von Jumpy (Beitrag 1290682)
Sprich es fehlt ein List.Add(Spaltenname)

Na das hätte er sicher noch rausbekommen. :)

blema 20. Feb 2015 08:53

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
danke für die Tipps. Die Ausgabe funktioniert zwar nicht so wie es sein soll, aber immerhin es wird sowohl Spaltenname als auch Datenfeld angezeigt.
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '| ';
    for I := 0 to FDQuery1.FieldCount -1 do
    begin
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname + ' | ';
    end;
    while not FDQuery1.Eof do
    begin
      DatenFeld := '| ';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(SpaltenName);
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
Also das Problem ist, das: eine Zeile Spaltenname angezeigt und die nächste dann das Datenfeld, usw...und wie kriegt man hin, dass die Breite des Datenfeldes und Spalten-Breite gleich groß sind?

Besten Dank

VG blema

Klaus01 20. Feb 2015 09:16

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hallo,

bei einem csv File ist es nicht zwingend notwendig das die Spalten gleich groß sind.
Der Spaltentrenner ist das "," und die Programme (Excel) welche das csv File dann einlesen
trennen die Spalten anhand des Spaltetrenners und nich anhand der Spaltengröße.

Grüße
Klaus

blema 20. Feb 2015 09:28

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hallo Klaus,
ich habe gerade die csv Datei mit Excel geöffnet. Leider werden die Spalten auch nicht getrennt ^^. Es wird die ganze Datei in eine Spalte angezeigt. noch 'n Fehler^^..danke für den Tipp.
Aber, dass der Spaltename wiederholt wird, der Fehler ist immer noch drin.

VG blema

Klaus01 20. Feb 2015 09:35

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '| ';
    for I := 0 to FDQuery1.FieldCount -1 do
    begin
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname + ' | ';
    end;
    // List.Add(SpaltenName) hier einfügen
    while not FDQuery1.Eof do
    begin
      DatenFeld := '| ';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(SpaltenName); // hier entfernen
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
Zu Excel,
Excel öffnen, Data Tab öffnen, aus TextDatei importieren.
Dann kannst Du in Excel den Spaltetrenner einrichten.
'|' ist kein csv Spaltentrenner.

Grüße
Klaus

BadenPower 20. Feb 2015 09:37

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

Zitat von blema (Beitrag 1290694)
Hallo Klaus,
Aber, dass der Spaltename wiederholt wird, der Fehler ist immer noch drin.

Du fügst die Spaltennamen ja auch vor jedem Datensatz in die Liste ein.

Zitat:

Zitat von blema (Beitrag 1290694)
Hallo Klaus,
ich habe gerade die csv Datei mit Excel geöffnet. Leider werden die Spalten auch nicht getrennt ^^.

Du verwendest auch kein Komma als Trennzeichen.


Zu beachten ist auch:
Kein Trennzeichen vor der ersten Spalte
Keine Leerzeichen hinzufügen.

Denke auch bitte daran, dass Du Strings eventuell auch noch "quoten" und/oder "escapen" musst.

blema 20. Feb 2015 09:58

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
jo, es klappt. Fehlerhaft war es das Trennzeichen und die Position der Ausgabe von der SpaltenName. Jetzt kann die csv-Datei auch mit Excel problemlos angezeigt werden.

Vielen Dank.

VG blema

BadenPower 20. Feb 2015 10:22

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

Zitat von blema (Beitrag 1290704)
jo, es klappt.

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten.

ThomasBab 20. Feb 2015 12:40

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

Zitat von BadenPower (Beitrag 1290712)
Zitat:

Zitat von blema (Beitrag 1290704)
jo, es klappt.

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten.

Deswegen nehme ich als Trennzeichen seit Jahrzehnten immer das Tab-Zeichen (#09) ;-)

blema 20. Feb 2015 12:43

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

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten
hm. Ich weiß nicht genau was du meinst?! Aber es funktioniert doch. Ansonsten Tab-Zeichen :-), danke

Jetzt muss ich das Programm erweitern mit eine möglichkeit mit Auswahl, z.B:
  • Edit-Feld für: Kunde
  • Edit-Feld oder ComboBox -> Items: für den Produktauswahl
  • Edit-Feld oder ComboBox für einen bestimmten Zeitraum.
Diese Daten dann in csv-exportiern
- die ausgabe mit mehreren Feldern: wie Kundennr. name, ort, tarif, zeitraum, verbrauch für den zeitraum usw.
den "select" habe ich schon. Das ist aus mehrere Tabellen.
...
Frage: kann man irgendwie mithilfe von DBComboBox einen Filter(Auswahl) aufbauen/zusammenbauen? Vlt. ein Link oder kl. Bspl.

Danke

VG blema

BadenPower 20. Feb 2015 13:43

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

Zitat von blema (Beitrag 1290744)
Zitat:

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten
hm. Ich weiß nicht genau was du meinst?! Aber es funktioniert doch.

Die Ausgabe fünktioniert ja auch, aber das Einlesen nicht mehr, wenn in der Tabelle irgendwo Dein Trennzeichen vorhanden ist.


Beispiel:

Spalte1Spalte2Spalte3
x1du111
x2er und ich222
x3du, er und ich333
x4ich444

Dein Programm macht aus dieser Tabelle folgende Ausgabe, wenn das Trennzeichen ',' ist:

Code:
Spalte1,Spalte2,Spalte3
x1,du,111
x2,er und ich,222
x3,du, er und ich,333
x4,ich,444
So und nun teste die Ausgabe einmal in Excel.

blema 20. Feb 2015 13:59

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hi,

die ausgabe mit dem Trennzeichen:
Code:
;  *funktioniert gut und wird in Excel ordnungsgemäß dargestellt
Code:
,  *csv-Datei in Excel nur in eine Spalte dargestellt
Code:
(#09) oder #09   *csv-Datei in Excel nur in eine Spalte dargestellt
hier nochmal mein Prog.:
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '';
    for I := 0 to FDQuery1.FieldCount -1 do
      begin
          SpaltenName := SpaltenName + FDQuery1.Fields[I].Fieldname + #09;
      end;
      List.Add(SpaltenName);
    while not FDQuery1.Eof do
    begin
      DatenFeld := '';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + #09;
      end;
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
      List.SaveToFile('C:\Projekte\oraTOcsv.csv');
      List.Free;
  end;
vg blema

BadenPower 20. Feb 2015 14:18

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

Zitat von blema (Beitrag 1290754)
Hi,

die ausgabe mit dem Trennzeichen:

Du sollst Dir nicht Deine Ausgabe anschauen, sondern das was ich unter "Code" gepostet habe in eine Datei speichern und dann in Excel einlesen und anschauen und dann vergleichen, ob die Excel-Tabelle genau so auschaut, wie die Tabelle, welche ich gepostet habe.

ThomasBab 20. Feb 2015 14:19

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Beim Import in Excel muß als Trennzeichen TAB eingestellt werden. Dann funktioniert es zuverlässig.

BadenPower 20. Feb 2015 14:27

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

Zitat von ThomasBab (Beitrag 1290758)
Beim Import in Excel muß als Trennzeichen TAB eingestellt werden. Dann funktioniert es zuverlässig.

Aber auch wiederum nur, wenn Deine Daten KEIN Tab-Zeichen enthalten.

Es funktioniert nur dann und das mit JEDEM Trennzeichen zuverlässig, wenn die Daten "escaped" werden.

ThomasBab 20. Feb 2015 14:34

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

Zitat von BadenPower (Beitrag 1290761)
Zitat:

Zitat von ThomasBab (Beitrag 1290758)
Beim Import in Excel muß als Trennzeichen TAB eingestellt werden. Dann funktioniert es zuverlässig.

Aber auch wiederum nur, wenn Deine Daten KEIN Tab-Zeichen enthalten.

Es funktioniert nur dann und das mit JEDEM Trennzeichen zuverlässig, wenn die Daten "escaped" werden.

Das versteht sich von selbst.

Und weil ich trockener workoholic (faul) bin habe ich mir vor "Jahrzehnten" mal überlegt, für welches Zeichen die Wahrscheinlichkeit am höchsten ist, damit ich ohne "escapen" auskomme.
Ich kam zum Schluß, dass das TAB-Zeichen innerhalb einer Excel-Zelle nicht vorkommt und damit war die Sache für mich klar.

BadenPower 20. Feb 2015 14:41

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

Zitat von ThomasBab (Beitrag 1290763)
Ich kam zum Schluß, dass das TAB-Zeichen innerhalb einer Excel-Zelle nicht vorkommt und damit war die Sache für mich klar.

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.

blema 20. Feb 2015 14:43

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

Zitat von BadenPower (Beitrag 1290757)
Zitat:

Zitat von blema (Beitrag 1290754)
Hi,

die ausgabe mit dem Trennzeichen:

Du sollst Dir nicht Deine Ausgabe anschauen, sondern das was ich unter "Code" gepostet habe in eine Datei speichern und dann in Excel einlesen und anschauen und dann vergleichen, ob die Excel-Tabelle genau so auschaut, wie die Tabelle, welche ich gepostet habe.

so sieht es bei mir unter Excel aus. Vorher habe ich den Text "unter Code" in eine *.txt-Datei gespeichert.
Spalte1Spalte2Spalte3 
x1du111 
x2er und ich222 
x3du er und ich333
x4ich444 
    

BadenPower 20. Feb 2015 14:49

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr.
Seite 1 von 2  1 2      

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