AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi CLuseServer oder clUseClient oder..
Thema durchsuchen
Ansicht
Themen-Optionen

CLuseServer oder clUseClient oder..

Ein Thema von p80286 · begonnen am 17. Dez 2015 · letzter Beitrag vom 18. Dez 2015
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

CLuseServer oder clUseClient oder..

  Alt 17. Dez 2015, 15:05
Datenbank: oracle • Version: egal • Zugriff über: ADO
Hallo Zusammen,
durch Zufall bin ich auf ein seltsames Verhalten gestoßen.
in einer meiner Datenbanken git es eine Tabelle "Name" mit dem Feld "name". Nicht geschickt, aber es ist so. Mit allen möglichen Abfrageprogrammen liefert select name from name where name like 'M%' ein Ergebnis.
Nun habe ich mir ein kleine Oberfläche zusammengeklickt (TADOConnection+TADOQuery+Stringgrid) die bei obiger Abfrage eine Fehlermeldung ähnlich "empty Rowset" liefert. In anderen Programmen nachgeschaut die diese Fehlermeldung nicht liefern, ADOConnection hat clUseServer und ADOQuery clUseClient in der .Cursorlocation stehen.
Irritierend, aber wenn's klappt. Ausprobiert, der Fehler ist weg, wunderbar. Also zurück geändert um die genaue Fehlermeldung zu reproduzieren.
Kein Fehler!

Wenn man die ganzen Voodoo-Tips ignoriert, dann gibt es für Access die Empfehlung clUseServer zu verwenden, in allen anderen Fällen clUseClient. Doch auf das "wo stellt man's ein" wird nicht eingegangen. Darum meine Frage an Euch "Wo stellt man's ein und warum?"

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: CLuseServer oder clUseClient oder..

  Alt 17. Dez 2015, 18:48
Müsste der bein TQuery-Instanzen sein.

Und Gründe wieso:

clUseServer bei Access da hier eh die Access-Engine in den eigenen Adressraum geladen wird und alles sich dort abspielt. Dann sorgt ein clUseClient nur für unnötiges (und speicherfressendes) sofortiges Kopieren aller Datensätze von der Jet-Engine-Seite auf die "andere Seite" der ADO-Schnittstelle.

Bei allen richtigen DB-Servern sorgt clUseServer zu unnötigen offenhalten des ResultSet auf Serverseite. Dort sorgt man am besten (wenn man eh keine DB-Sensitiven Controls) dafür das möglichst schnell das Resultset geschlossen wird um den Server zu entlasten (der ja u.U. 1000 gleichzeitige Anfragen bearbeiten muss)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: CLuseServer oder clUseClient oder..

  Alt 18. Dez 2015, 11:19
Danke!
Bleibt nur noch die Frage warum ADO sich da zunächst eingemischt hat und wußte, das bei der Abfrage nichts heraus kommt. Ich vergaß select Name.name from Name... hat natürlich funktioniert.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz