Announcement

Collapse
No announcement yet.

Datentransfer

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datentransfer

    Hallo,

    Ich importiere in eine IB 6.01 DB Daten aus vier unabhängigen DBF-Dateien. Diese enthalten zwischen 20.000 und 80.000 Datensätzen und zwischen 8 und 30 Spalten. Mein Programm analysiert die DBF's, erzeugt eine entsprechende IB-Tabelle und überträgt anschließend die Daten in die neuen Tabellen. Auf der SQL-Seite benutze ich TIBTable, um die neue Struktur zu erzeugen und Daten einzutragen, wobei des Eintragen in einer einzigen Transaktion stattdindet. Die einzelnen Werte werden in einer Schleife in der Form DestSet.FieldByName( 'xyz' ).AsVariant := SrcSet.FieldbyName('xyz').AsVariant übertragen.
    Funktioniert soweit auch ganz gut. Zwar nicht turboschnell ( ca. 1.000-2.000 Datensätze pro Minute ) reicht aber für meine Zwecke.

    Leider erreiche ich bei einer dieser DBF's nur eine Übertragungsrate von 50 - 100 Datensätze pro Minute. Das ist weder die Tabelle mit den meisten Feldern noch den meisten Datensätzen ( ca. 60.0000 ) noch der grössten Recordlänge oder aussergewöhnlichen Feldtypen.

    In dieser erwies sich nach ausführlichen Tests TIBTable.Append als echter Karussellbremser.

    Hat jemand eine Idee, woran es liegen könnte ???

    Gruß Gesine

  • #2
    Hallo,

    es ist in jedem Fall besser, die Daten mit Hilfe von <b>TIBSQL</b> über eine parametisierte INSERT-Anweisung einzufügen. Das hat den Vorteil, dass TIBSQL im Gegensatz zu TIBTable nach jedem INSERT nicht die eigene Datenmenge aktualisieren (erhöhen) muss

    Comment


    • #3
      Hallo,

      Ich hab's befürchtet. Aber man ist ja faul ;-)

      Danke
      Gesin

      Comment

      Working...
      X