Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.186 Beiträge
 
Delphi 12 Athens
 
#6

AW: "Invalid BLOB handle in record buffer." bei 2. Durchlaufen der Datensätze

  Alt 4. Dez 2023, 23:00
Oder mal versuchen die Daten auszutrennen.

Nja, grundsätzlich ist es eh besser so wenig wie möglich Datensätze Daten zu laden.

* nicht die ganze Tabelle, sondern nur den/die wichtigen Datensätze (Filter / WHERE)
* aktuell "unnötige" Spalten im SELECT weglassen
* Spalten mit gleichen/wiederholenden Daten als MasterDetail über ein/mehrere weitere Datasets angängen
* auch die Blobs könnte man z.B. via MasterDetail auslagern, vielleicht auch manuell, über einen Ladeknopf

Wenn eh kaum gescrollt wird, bzw. die Zeit für das Scrollen nicht so schlimm ist, dann jeweils nur den aktuellen Blob laden
vielleicht auch im Hintergrund den/die Blobs in Ruhe in einen Cache nachladen, anstatt sofort ALLES bei der ersten Abfrage.




Teilweise können auch die DB-Komponenten selbst Teile eigenständig nachladen.
* z.B. den Blob erst laden, wenn drauf zugegriffen wird
* oder nicht alle Datensätze laden, sondern immer nur einen Teilbereich, worin man sich grade befindet
* oder ...

z.B. siehe FetchOptions beim TFDQuery
https://docwiki.embarcadero.com/Libr...y.FetchOptions
https://docwiki.embarcadero.com/Libr...ons_Properties
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Dez 2023 um 23:03 Uhr)
  Mit Zitat antworten Zitat