Einzelnen Beitrag anzeigen

ventiseis

Registriert seit: 15. Jan 2009
Ort: 94032 Passau
53 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Vergleich Clientdatasets

  Alt 19. Okt 2022, 13:04
Datenbank: TClientdataset • Version: 10.2 • Zugriff über: DBX
Hallo!

ich haben hier regelmäßig Probleme mit dem normalen TClientDataSet und bekomme die Fehlermeldung:
Code:
Insufficient memory for this operation

Funktion: Dbclient.TCustomClientDataSet.InternalCheck (Zeile 0)
Adresse: [5112E08F]

Aufruf-Stack:
  [5112E08A] Datasnap.Dbclient.TCustomClientDataSet.InternalCheck
  [5113374A] Datasnap.Dbclient.TCustomClientDataSet.InternalPost
  [511D4A5C] Data.Db.TDataSet.Post
Daraufhin habe ich das Dataset durch zwei unterschiedliche Komponenten testweise ersetzt:
  • TFDMemTable (Firedac)
  • kbmMemTable (Dritthersteller)
Bei einer Stichprobe funktionieren beide Komponenten ohne Exception und beinhalten nach dem Auffüllen der Daten den gleichen Inhalt.
Geschwindigkeit der Ausführung und Speicherverbrauch sind ähnlich.

Wir nutzen (an dieser Stelle) das Dataset unabhängig von der Datenbank: erst erstellen wir Felddefinition mit (gängigen) Datentypen (Zahlen, Strings, große Memo-Felder)
und füllen dann die Werte im Programm. Sonst ist bei uns noch überall DbExpress im Einsatz (z.B. auch zur Datenbankverbindung), hier in diesem Fall würde aber (ohne große Umbauten) auch
scheinbar das Firedac Dataset funktionieren.

Hat hier jemand Erfahrungswerte oder einen Tipp, welche dieser Komponenten für diesen Zweck sinnvoller wäre? Oder lässt sich die Fehlermeldung im bestehenden Dataset
irgendwie vermeiden (ohne natürlich Felder wegzulassen)?
Bastian

Geändert von ventiseis (20. Okt 2022 um 07:21 Uhr) Grund: Text ergänzt
  Mit Zitat antworten Zitat