Announcement

Collapse
No announcement yet.

Speicherverlust bei Ado

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

  • Speicherverlust bei Ado

    Hallo,

    Ich möchte ca. 400000 Sätze in eine Access-Tabelle übertragen und habe nach ca. 60000 Sätzen bzw. nach jeder weiteren Verdopplung einen dramatischen Speicherverlust( nach 240000 Sätzen ca 500 kB). Um mögliche Fehlerquellen weitesgehend auszuschließen habe ich das ganze Programm auf die Ado-Befehle reduziert und nochmal ausprobiert( siehe nachfolgenden Quelltext): Dabei weise ich den Datenfeldern lediglich die aktuelle Speicherkapazität zu. Doch ich habe immer noch das selbe Problem. Wer kann mir helfen?

    <PRE>
    begin<BR>
    Tablename:='Test';
    AdoDataSet:=TAdoDataSet.Create(self);
    AdoDataSet.ConnectionString:='Provider=Microsoft.J et.OLEDB.4.0;Data Source='{+Verz.AusVerz}+DBName+';Persist Security Info=False';
    AdoDataSet.CommandText:='Select * from '+Tablename;
    AdoDataSet.LockType:=ltOptimistic;
    AdoDataSet.Open;
    for i:=0 to 40000 do begin
    Application.ProcessMessages;
    AdoDataSet.Append;
    for j:=0 to AdoDataSet.Fields.Count-1 do
    AdoDataSet.Fields[j].Value:=getressource; { getressource verursacht keinen Speicherverlust !}
    AdoDataSet.Post;
    end;
    AdoDataSet.Close;
    AdoDataSet.Free;
    end;
    </PRE>

  • #2
    Hallo Udo,

    liegt es vielleicht an Access. Ich habe ein Programm um mit verschiedenen SQL-Servern
    ( Sybase, Oracle und MS-SQL ) Testeinträge vorzunehmen und hatte diesbezüglich keinerlei Probleme. ( 500 000 Records

    Comment


    • #3
      Hallo,

      die Gretchenfragen beim Zugriff auf eine ACCESS-Datenbank lautet: "<b>clUseClient</b> oder <b>clUseServer</b>?". Um eine Doppelpufferung über die OLE DB Client Cursor Engine zu vermeiden, ist beim Zugriff auf eine MDB-Datenbankdatei die Konfiguration über <b>clUseServer</b> die "richtige" Wahl.

      Außerdem ist es nicht effektiv, jeden neuen Datensatz über Append anzulegen und somit der Ergebnismenge der TADODataSet-Instanz zuzuordnen

      Comment


      • #4
        Hallo,

        vielen Dank für den Tipp. Es funktioniert jetzt

        Comment

        Working...
        X