ADO-Verbindung / Exklusivzugriff
26.09.2019 13:14:19
Hans-Jürgen
ich bin noch bei meiner Excel-Anwendung (Frontend), mit dem eine Access-Datenbank verwaltet wird. Das Frontend selbst ist schreibgeschützt, die Anwender senden nur kurze "Befehle" (Selects/Update/Insert)
Selbst wenn zwei Anwender nahezu zeitlich an die Datenbank senden, ist das im Prinzip kein Problem.
Der erste Mitarbeiter allerdings, der sich morgens (=anderes Datum) anmeldet, sorgt für die Ausführung eines längeren Scripts, diverse Aufräumarbeiten in der Datenbank und die Komprimierung. Das läuft ca. 1-2 Minuten (wir haben ein lahmes Netzwerk).
Ich möchte nun vermeiden, dass in dieser Zeit ein anderer Mitarbeiter diesen Tagesstart durchführt bzw. mir sparen, die Abfrage programmäßig abzufangen.
Nun zur Frage: Gibt es die Möglichkeit, die Verbindung auf "Exklusiv" zu stellen?
Und wenn ja: Kann man einbauen, dass das System (ohne dass der Anwender das merkt) nach einer Zeit von ca. 10 Sekunden es nochmal probiert?
Hier der ("geklaute") Code, mit dem ich die Verbindung herstelle:
Set objADODBConnect = New ADODB.Connection
If objADODBConnect Is Nothing Then
With objADODBConnect
.CursorLocation = adUseClient
.Mode = adModeShareDenyNone
.Provider = strDBProvider
.ConnectionString = "Data Source=" & strDBPfad & strDBName & strDBEndung
.Properties("Jet OLEDB:Database Password") = strPasswort
.Open
End With
End If
Vielen Dank!Hans-Jürgen