Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Access Datenbank in Domäne langsam (https://www.delphipraxis.net/149018-access-datenbank-domaene-langsam.html)

berens 12. Mär 2010 12:49

Datenbank: Access • Zugriff über: OleDB / Jet 4 über ADO

Access Datenbank in Domäne langsam
 
Hi.

Mal wieder ein Problem mit TAdoConnection und Access-Datenbank.

Mein Programm läuft, wenn die .mdb z.B. auf einer Netzwerkfestplatte läuft recht zügig. Sobald aber die .mdb auf einem Netzlaufwerk einer Domäne liegt (also beim Kunden) und mehr als 1 Person auf die Datenbank zugreift (damit meine ich 2 Personen, keine 50 oder so!) ist das Programm zu langsam, dass ich es garnicht beschreiben kann. 5 Edit-Felder (die aus der Datenbank geladen werden) werden in Dia-Show Manier im 2 Sekunden Abstand gefüllt. Die komplette MDB Datei ist ~300-700 KB groß und es werden ansich nicht mehr als 1 kleine Abfrage je 5 Sekunden gemacht. Warum hängt das so enorm?

Sobald auf dem einen PC das Programm zu ist, läuft es auf dem anderen auch wieder schneller.

Ich denke, es gibt ein Problem mit dem Share Mode. Ich verwende aktuell "Share Deny None", damit jeder Benutzer Daten eintragen kann. Mein Programm öffnet die Datei nie exklusiv. An der CursorLocation sollte es auch nicht liegen. Was könnte es noch sein?

Danke im Vorraus :/

Bernhard Geyer 12. Mär 2010 13:35

Re: Access Datenbank in Domäne langsam
 
Probehalber mal:

Virenscanner deaktivieren (evlt. kannst du einfach nur MDB's ausnehmen).
Greif mal über IP-Adresse statt rechnernamen darauf zu (evtl. Netzwerk-Namensauflösungsstörungen).

berens 12. Mär 2010 13:44

Re: Access Datenbank in Domäne langsam
 
Virenscanner ist auf der kompletten Testumgebung aktuell nicht installiert.

Ich benutzte extra ein Netzlaufwerk für den Zugriff auf den freigegebenen Ordner (also sollte es kein (dauerhaftes) Problem mit der Namesauflösung sein; speziell da das Problem nicht (so krass) auftritt, wenn der PC der die mdb Freigibt das Programm _nicht_ gestartet hat.

Ich mappe trotzdem mal eben das Netzlaufwerk auf die IP Adresse; ich will nichts unversucht lassen.

Sharky 12. Mär 2010 13:47

Re: Access Datenbank in Domäne langsam
 
Zitat:

Zitat von berens
...
Mein Programm läuft, wenn die .mdb z.B. auf einer Netzwerkfestplatte läuft recht zügig. Sobald aber die .mdb auf einem Netzlaufwerk einer Domäne liegt (also beim Kunden) ...

Gibt es denn besondere Einstellungen auf dem Server? Zum Bespiel Volume Shadow Copy Service oder anderes?

berens 12. Mär 2010 14:05

Re: Access Datenbank in Domäne langsam
 
Nein garnicht. Der "freigebende" PC ist ein regulärer Windows XP Pro Client. Der -speziell hier in der Teststellung- sonst nichts zu tun hat. CPU Auslastun ~0%, RAM noch > 700 MB frei, Festplatte > 70 GB frei.


Edit:
Zitat:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\lanmanserver\parameters]
"SharingViolationDelay"=dword:00000000
"SharingViolationRetries"=dword:00000000
Schein das Ganze ein wenig (nicht komplett, aber immerhin) schneller zu machen. Frage: Warum gibt es eine Share-Violation, was kann man besser machen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 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