AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Access langsame Reaktionszeit
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Access langsame Reaktionszeit

Ein Thema von Mandi Nice · begonnen am 6. Dez 2009 · letzter Beitrag vom 29. Okt 2010
Antwort Antwort
Mandi Nice

Registriert seit: 16. Sep 2006
46 Beiträge
 
Delphi 2006 Professional
 
#1

ADO Access langsame Reaktionszeit

  Alt 6. Dez 2009, 20:40
Datenbank: Access • Zugriff über: ADO
Hallöchen

Ich stellen in einem DBGrid die Daten einer AccessTabelle dar.
Der Zugriff erfolgt über TADOTable und TDatasource.

Von einer anderen Stelle im Programm werden Daten aus einer Textdatei eingelesen und über einen zweiten TADOTable und TDatasource in die AccessTabelle eingetragen.

Es dauert nun sehr lange ( >= 4 Sekunden ) bis die Daten nach einem Requery in dem DBGrid angezeigt werden können .
( Die Datenbank befinded sich auf dem selben PC )


Kann man den Vorgang beschleunigen ?
Oder ist eine andere Datenbank schneller ?

Vielen Dank für Eure Hilfe.

hmg
Mandi
Manfred Schön
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: ADO Access langsame Reaktionszeit

  Alt 6. Dez 2009, 22:15
Das verhalten liegt am bescheuderten Caching-Verhalten von Access. Such mal im Entwickler-Forum nach "A. Kosch, Access und Cache". Dort sollte beschrieben sein wie man dieses Caching austrickst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

Re: ADO Access langsame Reaktionszeit

  Alt 6. Dez 2009, 22:21
Bei MS Access sollte es grundsätzlich nur eine zentrale ADOConnection verwenden.
Wenn man mehr als eine Connection hat, dann können Änderungen über Connection A erst dann von Connection B
gelesen werden, wenn der Datenbankcache in die MDB-Datei geschrieben wird.

Ich hoffe doch, dass deine ADOTables überhaupt eine ADOConnection verwenden.
Wenn man keine ADOConnection hat, sondern nur einen ConnectionString pro ADOTable,
dann erzeugt die VCL intern eine Connection pro ADOTable.
fork me on Github
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: ADO Access langsame Reaktionszeit

  Alt 7. Dez 2009, 07:49
Hallo,

Zitat:
Von einer anderen Stelle im Programm werden Daten aus einer Textdatei eingelesen und über einen zweiten TADOTable und TDatasource in die AccessTabelle eingetragen.
Wozu ist die TDataSource dort da ?

Zitat:
Es dauert nun sehr lange ( >= 4 Sekunden ) bis die Daten nach einem Requery in dem DBGrid angezeigt werden können .
Dauert das Requery immer so lange ?
Wieviele Datensätze werden angezeigt,
Hoffentlich nicht alle ?
-> TAdoQuery oder TAdoTabe.Filter zum Einschränken benutzen


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: ADO Access langsame Reaktionszeit

  Alt 29. Okt 2010, 13:46
Ich hab' diese alte Thema noch mal ausgegraben, weil ich ein ähnliches Problem habe.
Mit diesem Connection String konnte ich den Datandurchsatz um ca. 50% steigern:
Code:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyDatabase.mdb;Persist Security Info=False;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
Damit wird Access zwar immer noch nicht richtig schnell, aber wenn man es nutzen muß, hilft es ein wenig.
(Access 2003)

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 06:04 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