AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [ADO] MaxRecords bzw. CacheSize

[ADO] MaxRecords bzw. CacheSize

Ein Thema von MrSpock · begonnen am 30. Mär 2014 · letzter Beitrag vom 4. Apr 2014
Antwort Antwort
Dejan Vu
(Gast)

n/a Beiträge
 
#1

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 31. Mär 2014, 11:38
Sieht man beim Schreiben nicht.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

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

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 1. Apr 2014, 07:58
Habe gestern noch einmal ein kleines Testprogramm geschrieben. Egal, was ich unter MaxRecords oder CacheSize einstelle, der Treiber lädt immer alle Datensätze. Dann habe ich versucht über ein ADODataSet mithilfe von LIMIT die Anzahl zu beschränken, aber das kommt über dn Umweg ADO -> ODBC -> KHK My SQL wohl nicht beim Server an. Er ignoriert auch das LIMIT.

Jetzt habe ich die Anzahl der Datensätze aus der Kundentabelle über die KundenId blockweise Eingelesen, damit werden natürlich nur noch die Datensätze aus dem Block (z.B. so

Zitat:
SELECT * FROM Kunden WHERE Kundennummer >= '0000000000' AND Kundennummer < '5000000000'
geladen. Mal schauen, ob das jetzt funktioniert. Auch die Einstellungen zum asynchronen Lesen scheinen ignoriert zu werden.

In dem Testprogramm habe ich noch das Zeitlimit von 30 auf 60 Sekunden gesetzt, möglicherweise kann auch das noch helfen. Wobei die Fehlermeldung nicht "Timeout" sondern "Out of Memory" ist.

Das ist alles etwas verwirrend.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 1. Apr 2014, 08:19
Habe gestern noch einmal ein kleines Testprogramm geschrieben. Egal, was ich unter MaxRecords oder CacheSize einstelle, der Treiber lädt immer alle Datensätze. Dann habe ich versucht über ein ADODataSet mithilfe von LIMIT die Anzahl zu beschränken, aber das kommt über dn Umweg ADO -> ODBC -> KHK My SQL wohl nicht beim Server an. Er ignoriert auch das LIMIT.

Jetzt habe ich die Anzahl der Datensätze aus der Kundentabelle über die KundenId blockweise Eingelesen, damit werden natürlich nur noch die Datensätze aus dem Block (z.B. so

Zitat:
SELECT * FROM Kunden WHERE Kundennummer >= '0000000000' AND Kundennummer < '5000000000'
geladen. Mal schauen, ob das jetzt funktioniert. Auch die Einstellungen zum asynchronen Lesen scheinen ignoriert zu werden.

In dem Testprogramm habe ich noch das Zeitlimit von 30 auf 60 Sekunden gesetzt, möglicherweise kann auch das noch helfen. Wobei die Fehlermeldung nicht "Timeout" sondern "Out of Memory" ist.

Das ist alles etwas verwirrend.
Der Maxrecord geht in der Regel. Wie sieht dein Connectionsstring aus? Hier gibt es je nach Treiber auch Einstellungen, die dieses Aufheben können.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 1. Apr 2014, 08:20
Delphi ADO und ODBC auf MySQL? Gibts da nicht zwangsweise ein paar ODBC-Einstellungen die man setzen sollte damit es stabil geht?
Frag mich aber nicht welche das sind. Die Infos sind schon ein paar Jahre hehr und seit dem wir direkt mit MySQL (mit DevArt-Kompos) kommunizieren gibts eigentlich keine Probleme mehr.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 1. Apr 2014, 08:25
Delphi ADO und ODBC auf MySQL? Gibts da nicht zwangsweise ein paar ODBC-Einstellungen die man setzen sollte damit es stabil geht?
Frag mich aber nicht welche das sind. Die Infos sind schon ein paar Jahre hehr und seit dem wir direkt mit MySQL (mit DevArt-Kompos) kommunizieren gibts eigentlich keine Probleme mehr.
So ist es! KHK ClasicLine (Sage) habe ich schon lange nicht mehr gesehen, früher hatten die irgendein was nicht Standard als Datenbank, deshalb frage ich nach dem ConnectionString, da sieht man was Sache ist!
  Mit Zitat antworten Zitat
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 1. Apr 2014, 09:25
Die KHK New Classic Line arbeitet mit MySQL als echte Datenbank gegenüber der alten Dateien-Struktur. Die CL liefert einen ODBC Treiber mit, den ich als System DNS unter der 32 bit Administrator Verwaltung eingerichtet habe. Hier kann ich dann die Mandantennummer, das Passwort und das Finanzjahr einstellen. Außerdem die Lock-Methode für die Tabellen, die ich auch "periodisch entsperren" eingerichtet habe.

In Delphi wähle ich dann diesen ODBC Eintrag für die ADOConnection aus. Bei mir läuft es auf dem lokalen Rechner wie "die wilde Wutz", beim Kunden nach der Umstellung auf die aktuelle New Classic Line leider nicht mehr.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 1. Apr 2014, 10:49
Mit den ODBC Treibern und MySQL ist das so eine Geschichte von Bugs ...

Es gehen hier nur bestimmte Versionen von Treibern, beim nächsten Update kann alles wieder nicht gehen, die sind sehr Buggy!

Ich benutze entweder

V3.51.27 oder den V5.1.6

die sind nicht aktuell, aber die funktionieren!

Hier musst Du halt den User heraus bekommen, der bei der Datenbank eingerichtet ist um darauf zuzugreifen.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

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

AW: [ADO] MaxRecords bzw. CacheSize

  Alt 1. Apr 2014, 11:49
Leider geht das nicht. Man soll auf die New Classic Line nur mit den mitgelieferten ODBC Treibern von extern zugreifen. Dann ist aber gewährleistet, dass die Tabellen konsistent bleiben, weil SAGE dann eben alle Einträge in den Tabellen entsprechend aktualisiert. Ein direkten Zugreifen auf die MySQL Datenbank wird nicht unterstützt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz