Einzelnen Beitrag anzeigen

PistolenPeter

Registriert seit: 11. Jun 2010
9 Beiträge
 
#1

TADODataSet.LoadFromFile in DB schreiben

  Alt 11. Mai 2011, 13:03
Datenbank: Oracle • Version: 10g • Zugriff über: TADODataSet
Hallo zusammen,

ich möchte Daten aus einer XML Datei laden und zurück in eine Datenbank schreiben.
Die XML Datei habe ich zuvor mit TADODataSet.SaveToFile erzeugt.
So sieht mein zurzeit Code aus:

Delphi-Quellcode:
  DataSetSource.LoadFromFile(FileName);

  CreateTable(DataSetSource); // eigene Methode erstellt leere Tabelle je nach Zieldatenbank
  DataSetDest.CommandText := 'SELECT * FROM FileName WHERE 1=0';
  DataSetDest.Open;

  while NOT DataSetSource.Eof do
  begin
    DataSetDest.Insert;

    for n := 0 to DataSetSource.Fields.Count - 1 do
    if NOT DataSetSource.Fields[n].IsNull then
      DataSetDest.Fields[n].Value := DataSetSource.Fields[n].Value;
    DataSetDest.Post;

    DataSetSource.Next;
  end;
end;
Das ist allerdings sehr langsam.
Ich habe schon probiert das "DataSetDest.Post" erst nach dem gesamten Durchlauf auszuführen, aber das hat auch keinen merklichen Unterschied gemacht.

Hat jemand einen Idee, wie man das Ganze etwas schneller hinbekommt?
Es müsste doch eine Möglichkeit geben über das Recordset Daten zu kopieren, oder nicht?
Alle Versuche in diese Richtung sind allerdings kläglich gescheitert.

Grüße
Peter
  Mit Zitat antworten Zitat