Vielen Dank für die detaillierte Antwort.
Ja, bei mir kommt auch der lange ConnectionString raus, in sofern verwende ich den jetzt auch.
Ich habe all meine Quelltextdatei überarbeitet:
-Es wird nun häufiger eine über Parameter übergebene TAdoConnection verwendet, anstatt selbst (temporär) eine neue zu Erstellen
-Überall wo eine temporäre AdoConnection erstellt wird, gebe ich paranoia-mäßig alles mit try..finally frei
Delphi-Quellcode:
finally
CloseQueryAndClearSQLText(q);
end;
finally
db.Close;
end;
finally
FreeAndNil(q);
FreeAndNil(
db);
end;
Was mich mit deinem Post jetzt aufgeschreckt hat:
Bisher dachte ich, dass
cmReadWrite letztendlich doch "Einzel-Benutzung" bedeutet, da das Wort "Share" fehlt. Ich verwende bis dato (imo problemlos?) immer
cmShareDenyNone - "Alle Teilen, nichts verbieten". So wurde das glaube ich auch überall empfohlen und in den Beispielen verwendet. Ich bin eben fast vom Hocker gefallen, als ich in der
OH nachgeschlagen habe:
Code:
cmReadWrite - Die Verbindung verfügt über Lese-/Schreibrechte.
cmShareDenyRead - Die Verbindung kann von anderen Benutzern nicht mit Leseberechtigung geöffnet werden.
cmShareDenyWrite - Die Verbindung kann von anderen Benutzern nicht mit Schreibberechtigung geöffnet werden.
cmShareDenyNone - Die Verbindung kann mit keiner Art von Zugriffsrecht von anderen Benutzern geöffnet werden.
cmShareDeny... : Der Benutzer kann alles, ausser Read-Lesen, Write-Schreiben, None-Nichts --> Der Benutzer kann alles, mit Ausnahme von nichts - ohne Ausnahme, siehe auch:
https://www.delphipraxis.net/107684-post4.html
Zitat:
nein, MSAccess ist auch für einen Mehrbenutzermodus vorgesehen
der Verbindungsstring wird normalerweise mit den Zugangsberechtigungen "share deny none' also jeder kann gleichzeitig zugreifen
s.a. Connection.Mode cmShareDenyNone
Edit: Ebenfalls hier wird rauf gepocht, das cmReadWrite nicht im Netzwerk ausreicht, und cmShareDenyNone zu verwenden ist:
https://www.delphipraxis.net/43690-a...ert-nicht.html
Hier bräuchte ich jetzt bitte echt schnell nochmal Rückmeldung:
Was Unterscheidet cmShareDenyNone von cmReadWrite? Ist cmReadWrite wirklich für Mehrbenutzer-Zugriff für
Access-Datenbanken über Netzwerk geeignet? Können dabei (z.B. nach einem Update) [einmalig] Tabellen angepasst werden (Spalten hinzufügen, ...), oder schlagen irgendwelche Befehle fehl?
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit