Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: query.open blockiert

  Alt 7. Nov 2013, 09:00
Hallo,
ich habe verschiedene Komponenten ausprobiert, bei ZEOS/ADO blockiert ein Query.Open bis die kompletten Daten uebermittelt wurden, bei AnyDAC nicht.

Kann man das Verhalten von AnyDAC irgendwie bei ZEOS/ADO einstellen? Ich moechte die Daten schon verarbeiten, auch wenn diese noch nicht komplett uebertragen wurden (qry.next sollte dann blockieren).
Kein Problem. Du musst bei ADO die Curserlocation auf clUseServer stellen (Oder ein anderes Property was ich aktuell nicht weiß auf "AsncFetch")
Bei clUseServer belastet man aber den Server erheblicher da er ja die Ergebnismenge noch weiter auf dem Server vorhalten muss.

Da Uebertragung und Berechnung gleich lange dauern, wuerde es somit quasi parallel ausgefuehrt. Da im Moment das Open bei ZEOS/ADO blockiert dauert alles doppelt so lange...
Mit clUseServer könnte es u.U. noch länger dauern. Da wäre dann der Asnchrone Fetch vermutlich besser.

AnyDAC bzw. FireDAC ist mir zu teuer (D2007 Prof Upgrade bei mehreren Nutzern) und diese werden auch nicht mehr supported fuer Delphi2007. Waere auch mit guenstigen Alternativen zu frieden.
Die Devart (http://www.devart.com/de/) kosten zwar einiges, sind aber ihr Geld wert.
Wenn du etwas Zeit und Gehirnschmalz investierst kannst du auch versuchen die dbGo-Wrapper von Delphi zu umgehen und direkt mit der COM-Schnittstelle arbeiten. Bring auch einiges an Performance.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat