Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Exclusiver Zugriff auf Datenbank

Begonnen von dobby110, Oktober 13, 2015, 14:12:26

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,

ich habe jetzt mal eine wahrscheinlich ganz blöde Frage.
Eine Access-Datenbank sollte doch von mehrere Benutzern gleichzeitig geöffnet und bearbeitet werden können.

Ich bekomme beim öffenen immer folgende Meldung:

Zitat
Sie haben momentan keinen exclusiven Zugriff auf die Datenbank. Falls Sie Änderungen vornehmen, werden Sie sie evtl. später nicht speichern können.

Hilfe anzeigen >>
Bei dem Versuch, ein Datenbankobjekt in der Entwurfsansicht zu öffnen oder Entwurfsänderungen an einem Datenbankobjekt zu speichern, kann diese Fehlermeldung auftreten. Eine exklusive Sperre der Datenbank ist von Access für manche Objekttypen erforderlich, da andere Benutzer versuchen könnten, diese Objekte zu verwenden. Dieser Fehler zeigt an, dass Access keine exklusive Sperre für die Datenbank erhalten hat. Wenn Sie den Namen einer Tabelle oder Felddefinitionen geändert haben, während jemand die Tabelle geöffnet hat, führt dies zu einem schwerwiegenden Fehler für den anderen Benutzer. Daher müssen Sie beim Aktualisieren eines Objekts exklusiven Zugriff auf die Datenbank besitzen. Wenn Sie die exklusive Sperre aufheben, können andere Benutzer die Datenbank wieder verwenden.
Es wird empfohlen, dass Sie zum Programmieren Quellcodeverwaltung mithilfe des Microsoft Visual-SourceSafe Add-ins für Microsoft Access implementieren. Alternativ können Sie auch lokale Arbeitskopien der Datenbank an jeden Entwickler verteilen.

Was soll mir diese Meldung denn sagen und was kann ich tun, dass diese nicht mehr erscheint und auch mehrere Nutzer gleichzeitig darin arbeiten können?

DF6GL

Hallo,


Grundvoraussetzung:  DB in Frontend und Backend aufteilen.

Unter Optionen/Clienteinstellungen/erweitert "freigegeben" einstellen.
Das FE für jeden User auf dessen Rechner lokal kopieren.
Alle Zugriffrechte der User (bzw. des FE)  auf das Backend-Verzeichnis gewähren
Evtl. Tabellenverknüpfungen neu verlinken.

Auf weitere Vorsichtsmaßnahmen (Sperrungen, Neuanlage von DS, usw.) gehe ich jetzt nicht weiter ein.


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

dobby110

Hallo,

den Standardöffnungsmodus habe ich auf "Freigegeben" stehen.
Allerdings habe ich keine Unterteilung in FrontEnd und BackEnd.

Die Datenbank liegt auch auf einem Netzwerklaufwerk und alle greifen zentral auf dem entsprechenden Laufwerk darauf zu.
Leider ist es von der IT nicht möglich, ein FE für jeden User auf dessen Rechner zu kopieren. Das wären dann immer Netzwerklaufwerke auf die alle Zugriff haben. Die C: Platte ist leider tabu.

Heißt das im Umkehrschluss, dass es über diese Schiene gar nicht anders geht und mich die "Meldung" begleiten wird?

Habe mal die Einstellungen unter den Optionen als Screenshot angehängt.

MaggieMay

Hi,
ZitatAllerdings habe ich keine Unterteilung in FrontEnd und BackEnd.
die Auftreilung halte ich im Mehrbenutzerbetrieb für zwingend erforderlich.
ZitatDie C: Platte ist leider tabu.
Sind eure Festplatten etwa nicht partitioniert?

Selbst wenn der Zugriff aufs Netzlaufwerk geht, so hat dort doch sicher jeder Benutzer einen eigenen Bereich, in dem das Frontend installiert werden kann, oder etwa nicht?

Dann geht es also nur noch um den gemeinsamen Zugriff auf das Backend, hierzu muss jeder Benutzer Schreib-/Lese-Rechte auf dem Ordner haben.
Freundliche Grüße
MaggieMay

dobby110

Jeder hat schon seinen Rechner, aber alles andere läuft über einen Server auf dem diverse Laufwerke zur Verfügung stehen.

Es gibt schon die Möglichkeit auf der C: Platte was zu kopieren, aber die Daten können bei Neueinspielung jederzeit überschrieben werden und sind nicht sicher.

Daher muss die Datenbank auf einem für jeden zugänglichen Pfad liegen. Wie funktioniert das denn mit FrontEnd und BackEnd? Muss dann jeder über seine eigene Datei die Datenbank aufrufen? Ich habe das leider noch nicht gemacht und wusste das auch gar nicht.
Hab in einem Seminar zwar gelernt, dass man Benutzerrechte vergeben kann, aber war immer der Meinung, dass gemeinsam in einer Datenbank gearbeitet werden kann.

Gibt es eine Lösung unter den o.g. Umständen? Eine Datei über die jeder die Datenbank aufrufen kann ohne dass es zu Konflikten kommt?


MzKlMu

#5
Hallo,
in das Backend kommen nur die Tabellen, sonst nichts.
Dieses Backend und nur das kommt auf den Server.
In diesem Ordner benötigt jeder User Schreib und Leserechte.
In das Frontend kommt alles andere.

Jeder User eines Netzwerkes muss doch einen eignen Bereich haben und in diesen Bereich kommt das Frontend, das wie bisher per Doppelklick gestartet wird. Jeder hat dann seine eigene DB die wie seine anderen eigenen Dateien in seinem Bereich liegt. Zum Frontend hat nur der jeweilige User Zugriff.
Gruß Klaus

ebs17

Zitat... ohne dass es zu Konflikten kommt?
Hintergründe zur Arbeitsweise von Access ... sollte man sich ins Bewusstsein rücken.
Mit freundlichem Glück Auf!

Eberhard