Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 31. Mär 2014, 11:11
Scheint so, als ob es ich um sehr große Tabellen handelt, eventuell mit großen Blob-Feldern? Defaultmäßig steht CacheSize auf 1, was bedeutet, daß bei Anforderung immer nur ein weiterer Datensatz geholt (fetched) wird. Möglicherweise hilft es in deinem Fall, CacheSize auf einem eher niedrigen Wert zu belassen statt gleich 100 Datensätze auf einmal in den Cache (Speicher) zu laden.

Die Ado-Komponenten scheinen mir, der ich durch FibPlus und IbDac verwöhnt bin, doch eher unkomfortabel zu sein. Dessen ungeachtet kann ich selbst auch nicht immer auf Ado verzichten, weil mir das Geld für bessere, modernere Kompos fehlt. Beim nächsten finanziellen Überschuß schaffe ich mir UniDac an, damit kann ich dann wohl die meisten Datenbanken abdecken.
Nein, die Tabellen sind gar nicht wirklich groß und enthalten keine BLOB Felder, dennoch bricht das Programm weiter mit "Out of Memory" ab. Bei mir, wo die Tabellen alle auf dem lokales Rechner sind, funktioniert alles einwandfrei. Beim Kunden, wo die Tabellen auf verschiedenen Servern liegen, kommt es zu dem Fehler.

Ich weiß noch nicht genau wann der fehler auftritt. Das Öffnen der Tabelle (mit Open) funktioniert ohne Probleme. Dann frage ich mit der ADO SQL Abfrage die Anzahl der Datensätze in der Tabelle ab. Auch das funktioniert. Dann laufe ich in einer Schleife bis zum EOF durch. Offensichtlich wird aber beim Zugriff auf den ersten Datensatz irgendwie der Fehler ausgelöst.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat