Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#2

Re: CSV Datei in Oracle transferieren

  Alt 17. Jun 2009, 15:28
Hallo,
die Eingabedatei zeilenweise lesen und pro Zeile sowas machen:

Delphi-Quellcode:
sZeile := 'Hans Muster;Musterstraße 11,94385 Muster;H.Muster@web.de;;0800844';
iPos := Pos(';',sZeile);
sName := Copy(sZeile,1,iPos - 1);
sZeile := Copy(sZeile,iPos + 1,Length(sZeile));
iPos := Pos(';',sZeile);
sStr := Copy(sZeile,1,iPos - 1);
sZeile := Copy(sZeile,iPos + 1,Length(sZeile));
iPos := Pos(';',sZeile);
sOrt := Copy(sZeile,1,iPos - 1);
sZeile := Copy(sZeile,iPos + 1,Length(sZeile));
iPos := Pos(';',sZeile);
sMail := Copy(sZeile,1,iPos - 1);
sZeile := Copy(sZeile,iPos + 1,Length(sZeile));
iPos := Pos(';',sZeile);
sNix := Copy(sZeile,1,iPos - 1);
sZeile := Copy(sZeile,iPos + 1,Length(sZeile));
iPos := Pos(';',sZeile);
sTel := Copy(sZeile,1,iPos - 1);

tbOracle.Append;
tbOracle.FieldByName('NAME').AsString := sName;
tbOracle.FieldByName('STRASSE').AsString := sStr;
tbOracle.FieldByName('ORT').AsString := sOrt;
tbOracle.FieldByName('MAIL').AsString := sMail;
tbOracle.FieldByName('TELEFON').AsString := sTel;
tbOracle.Post;
Alternativ könntest Du in der Schleife über die Datei auch Insertstatements generieren und die dann zusammen mit einer Query und ExecSQL an die Datenbank geben. Könnte eventuell schneller sein, als satzweise.
  Mit Zitat antworten Zitat