Forums Neueste Beiträge
 

ADODB RECORDSET Optimierung

02/11/2007 - 09:07 von Daniel Leger | Report spam
Hallo,

ich habe eine Routine geschrieben, die eher unstruktrukturierte Textdateien
in eine MS SQL 2000 Datenbank einliesst.
Dabei habe ich eine ADODB Recordset definiert etwa wie folgt

dim objADO as adodb.recordset
dim strQUERY as string

set objADO ...

strQUERY="Select * from TABELLE"
objADO.Open strQUERY, CurrentProject.Connection,3,3
For (Zeilenweises einlesen des Textfiles)
objADO.AddNew
...
...
objADO.Update
Next

Das Ganze funktioniert soweit problemlos. Allerdings belegt Access bei
Öffnen des Recordsets ca 800 MB RAM.
Gibt es Möglichkeiten, dass Ganze etwas Speicherfreundlicher umzugestalten?

Gruss Daniel
 

Lesen sie die antworten

#1 Michael Schörner
11/12/2007 - 14:48 | Warnen spam
Hallo Daniel,

dein Eintrag ist zwar schon eine Weile her, aber ich möchte trotzdem noch
antworten.

Ist die Tabelle, die du in das Recordset einliest, gut gefüllt? Dann wundert
es nicht, dass der Speicherverbrauch so in die Höhe schnellt. Da du nur
Daten anfügen möchtest, kannst du das Recordset "leer" öffnen, indem du im
SQL-Statement "WHERE 1=0" anhàngst. Das Recordset erhàlt die richtige
Struktur, aber enthàlt keine Daten. Das Update kann auch außerhalb der
For...Next-Schleife stehen. Du fügst also dann stetig neue Datensàtze an das
im Speicher befindliche Recordset an, schreibst dann aber die Daten "in
einem Rutsch" in die DB.

Gruß,
Michael Schörner

Ähnliche fragen