Ich habe immer wieder das Problem, dass eine Access 2000 Datenbank in einer Mehrbenutzerumgebung durch einzelne Anwender gespert wird.
Täglich wird diese DB durch ca. 10-20 User genutzt. Immer wieder kommt es dann willkürlich dazu, dass beim Öffnen die Fehlermeldung erscheint „Datenbank ist durch Admin PC… gesperrt …“. Wenn dieser Nutzer (Admin PC…) die DB wieder schliesst und erneut öffnet ist der Spuk vorbei. Dieses Verhalten ist weder von einem bestimmten PC noch von einem bestimmtern Nutzer abhängig und scheint mal öfters und mal weniger öfter vorzukommen. Was beutet, manchmal passiert dies an einem Tag mehrere Male und dann ist wieder 2 Wochen nichts von diesem Phänomen zu sehen.
Was ist die Ursache?
Hallo,
deshalb hat diese „Datenbank“, wenn man die überhaupt so bezeichnen darf, einen entsprechend schlechten Ruf. Und leider wird sie trotzdem eingesetzt.
Es ist nunmal eben so, daß diese Datenbank für Mehrbenutzebetrieb sozusagen gänzlich ungeeignet ist. Dafür können Sie vielleicht auch nichts.
Auf dem freien Markt gibt es kostenlose webbasierte Opensourceprodukte , die wesentlich leistungsfähiger sind und nicht derartige Probleme mitsichbringen.
Vielleicht wäre hier ein Umdenken ratsam. Ein Webadministrator, der Erfahrungen in Php hat sollte damit bei der Einrichtung und Betreuung zurechtkommen.
Es gibt selbstverständlich auch Hersteller von Datenbanken, deren Produkt auch kostenlos ist. Hierbei wird aber das Geld mit dem Service verdient. Diese Variante kann ich nicht empfehlen. Auch wenn Sie auf den ersten Blick hin günstiger erscheint.
MfG
Hallo Norbert
leider sind deine Beschreibungen des System etwas dürftig aber ich habe eine Vermutung was es ein könnte.
wenn ich richtig liege hats du die AccessDB auf einem Netzlaufwerk liegen und dort öffnen dann mehrere user die Datei.
das macht natürlich probleme da jetzt mehrere User die Accessdb im Singelmodus offnen.
Abhilfe würde Folgendes schaffen:
Teile die db in zwei Teile, eine Teil der nur die Tabellen (TabellenDB) enthält und eine Teil der die Ganzen Formularen, Reports, VBScripts, usw (CodeDB) enthält. Jetzt mußt du nur noch die Tabellen zu aus der TabelleDB in der CodeDB verknüpfen.
Die TabellenDB legst du wieder auf das Netzlaufwerk. Jetzt muß nur noch jeder User sich die COdeDB Lokal auf seinen Rechner Copieren und von dort aus Starten
ich hoffe das ich dir damit geholfen habe
mfg
Andreas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
der OP wird sich sicherlich über die deine vielen konkreten Lösungsmöglichkeiten gefreut haben.
Gruss
Q.
Hallo Norbert,
hast du mal die Zugriffsrechte auf der Datenbank überprüft (Extras==> Sicherheit==> Benutzer und Gruppenberechtigungen)? Falls eine Usergruppe auf die komplette Datenbank Die Rechte „exclusiv öffnen“ hat, passiert dieser Fehler (zumindest bei mir letzte Woche…).
Hoffe geholfen zu haben.
Gruß
Mareike
P.S. Unsere Datenbanken liegen so vor, wie es der Poster unter mir geschrieben hat. Daten getrennt vom Rest und dieser als lokale Kopie auf jedem Rechner.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Andreas,
vielen Dank für Deine Antwort.
Es ist tatsächlich so, dass die DB im Netzlaufwerk liegt. Dort wird sie gleichzeitig von verschiedenen Usern geöffnet, was ja auch meistens funktioniert.
Deinen Vorschlag werde ich demnächst testweise umsetzten. Das hat natürlich auch zur Folge, dass jede Änderung an einem Formular o. a. erst mit dem Weitergeben einer aktualisierten CodeDB anwendbar wird. Bei den monatlichen bis zu Teil wöchentlichen Änderungen/Verbesserungen/Weiterentwicklungen wird der Aufwand wahrscheinlich rel. groß, immer die aktuelle CodeDB auf allen lokalen Rechnern vorzuhalten.
Würde es denn auch ausreichen diese CodeDB im Netzwerk zu speichern, auf die dann die Nutzer gemeinsam zugreifen? Laut Aussage Microsoft scheint ACCESS ja zu sperren, da die DB fehlerverdächtig ist.
mfg
Norbert
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Norbert
Nein es wir dir nichts nutzen die Codedb ins Netzlaufwerk zustellen und dann wieder alles zugreifen zu lassen. Dann hast das gleiche wie bisher nur daß du die Datenbank geteilt hättest.
Aber wie wäre es wenn du einfach ein kleiens .bat(ch) Script schreibst welches die Codedb einfach in ein lokale verzeichniss kopiert. Und dieses Script dann in „Start -> Programme -> Autostart“ kopierst. somit kommt jedes mal automatisch die neue Version auf den rechner wenn sich der usere einlogt.
mfg
Andreas
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Qasar,
vielen DAnk für Deine Unterstützung. Ich hab mich gar nicht getraut zu antworten, weil meine Antwort fast so wie Deine geklungen hätte.
Grüsse
Norbert
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Michael,
deshalb hat diese „Datenbank“, wenn man die überhaupt so
bezeichnen darf,
ok, was ist es denn dann?
einen entsprechend schlechten Ruf.
könntest du das bitte mal genauer definieren: warum? wo? wer?
Und leider wird sie trotzdem eingesetzt.
du würdest also ein Oracle-Db einsetzten, um deine DVD-Sammlung mit ca. 100 Filmen zu verwalten?
Es ist nunmal eben so, daß diese Datenbank für
Mehrbenutzebetrieb sozusagen gänzlich ungeeignet ist.
ich lade dich hiermit ein: komm mal vorbei und ich zeige dir Access-Datenbanken auf die bis zu 300 User im Netz (ohne Probleme) zugreifen!!
Solche Aussagen - vielleicht aus Unkenntnis, oder mangelnde Erfahrung hier aufgestellt - kann ich hier nicht stehen lassen!!
Das ist absoluter Blödsinn hoch 3!!
Du würdest doch auch nicht behaupten, Winword kann keine Serienbriefe drucken, weil du das noch nie gemacht hast, oder nicht weißt, wie es geht?
Auf dem freien Markt gibt es kostenlose webbasierte
Opensourceprodukte , die wesentlich leistungsfähiger sind und
nicht derartige Probleme mitsichbringen.
wie war das noch mit den Kanonen und den Spatzen?
Vielleicht wäre hier ein Umdenken ratsam.
vielleicht auch auf deiner Seite?
Ein Webadministrator, der Erfahrungen in Php hat sollte damit bei
der Einrichtung und Betreuung zurechtkommen.
Welcher „normale“ User ist schon Webadministrator?
Du verlangst also von jedem „normalen“ User, dass er sich erst mal mit MySQL auseinandersetzt (ggf. einen Lehrgang besucht), dann einen PHP - Lehrgang besucht und dann anfängt seine DVD-Sammlung mit 100 Filmen zu programmieren? Nicht zu vergessen: er muß ja erstmal lernen einen Server (z.B. Apache) aufzusetzten und zu konfigurieren!
Es gibt selbstverständlich auch Hersteller von Datenbanken,
deren Produkt auch kostenlos ist.
D.h. aber auch, dass die Opensource-Produkte NICHT kostenlos sind?
Hierbei wird aber das Geld mit dem Service verdient.
ja und?
Diese Variante kann ich nicht empfehlen.
warum nicht? Geld darf man also nicht verlangen für seine Arbeit?
Kommst du dann mal ein paar Monate rüber, ich hätte da noch einiges zu programmieren. Wenn du das alles kostenlos machst, ist das super.
Auch wenn Sie auf den ersten Blick hin günstiger erscheint.
Wo ist denn nun der Haken?
Die DB ist kostenlos = günstiger und für den Support = Hilfe soll ich zahlen! Das ist doch OK, wenn ich Support benötige!
Die Frage ist: warum benötige ich denn überhaupt Support?
Ist die Handhabung der DB so kompliziert, dass ich ständig Support benötige und dabei arm werde?
Was würdest du als Alternative für Access empfehlen? und warum?
MySQL, MS SQL, Oracle, Informix, DB2 …?
Grüße aus Essen
Wolfgang
Hallo Michael,
Deinen Vorschlag haben ich mit den entsprechenden Verantwortlichen (IT dept.) besprochen. Deine beschriebene Variante wäre grundsätzlich möglich - danke für den Tip. Bevorzugt wird jetzt allerdings eine neue Variante, die Tabellen auf einen bestehenden MySQL Server abzulegen und auf diese via ODBC zuzugreifen. Die ersten Versuche sehen viel versprechend aus. Probleme bestehen allerdings noch bei Formularen/Unterformularen welche auf Tabellen mit n:m Beziehungen basieren. Sollte es mit dem MySQL Server nicht endgültig funktionieren wird sicher Deine vorgeschlagene Variante zum Testen kommen.
Grüsse,
Norbert
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Mareike,
danke für Deinen Hinweis.
Wir nutzen die Funktionen der Benutzer- und Gruppenberechtigungen nicht. Stattdessen werden Zugriffe auf die Daten durch Ermittlung des NT-Anmeldenamens gesteuert/protokolliert. Deshalb gehe ich davon aus, dass diese Benutzer und Gruppenberchtigungen keine Ursache sein können.
Grüsse,
Norbert.
PS: Entschuldige die späte Antwort. Ich war mir sicher bereits vor zwei Tagen Deinen Eintrag beantwortet zu haben. Aber leider kann ich diesen nicht im Forum sehen. sorry vielleicht habe ich im Eifer des Gefechts den Abschicken Button nicht gedrückt.
Hallo Norbert,
hast du mal die Zugriffsrechte auf der Datenbank überprüft
(Extras==> Sicherheit==> Benutzer und
Gruppenberechtigungen)? Falls eine Usergruppe auf die
komplette Datenbank Die Rechte „exclusiv öffnen“ hat, passiert
dieser Fehler (zumindest bei mir letzte Woche…).Hoffe geholfen zu haben.
Gruß
MareikeP.S. Unsere Datenbanken liegen so vor, wie es der Poster unter
mir geschrieben hat. Daten getrennt vom Rest und dieser als
lokale Kopie auf jedem Rechner.Ich habe immer wieder das Problem, dass eine Access 2000
Datenbank in einer Mehrbenutzerumgebung durch einzelne
Anwender gespert wird.
Täglich wird diese DB durch ca. 10-20 User genutzt. Immer
wieder kommt es dann willkürlich dazu, dass beim Öffnen die
Fehlermeldung erscheint „Datenbank ist durch Admin PC…
gesperrt …“. Wenn dieser Nutzer (Admin PC…) die DB wieder
schliesst und erneut öffnet ist der Spuk vorbei. Dieses
Verhalten ist weder von einem bestimmten PC noch von einem
bestimmtern Nutzer abhängig und scheint mal öfters und mal
weniger öfter vorzukommen. Was beutet, manchmal passiert dies
an einem Tag mehrere Male und dann ist wieder 2 Wochen nichts
von diesem Phänomen zu sehen.
Was ist die Ursache?
Off Topic
Hallo Norbert,
PS: Entschuldige die späte Antwort. Ich war mir sicher bereits
vor zwei Tagen Deinen Eintrag beantwortet zu haben. Aber
leider kann ich diesen nicht im Forum sehen. sorry vielleicht
habe ich im Eifer des Gefechts den Abschicken Button nicht
gedrückt.
Kein Problem. Ich hatte auch Urlaub, sodass ich erst heute wieder ins Forum geguckt habe. Aber schön von Mitgliedern zu hören, auch wenn eine Antwort mal nicht hilfreich war! *
Gruß
Mareike
Hallo Norbert,
hast du mal die Zugriffsrechte auf der Datenbank überprüft
(Extras==> Sicherheit==> Benutzer und
Gruppenberechtigungen)? Falls eine Usergruppe auf die
komplette Datenbank Die Rechte „exclusiv öffnen“ hat, passiert
dieser Fehler (zumindest bei mir letzte Woche…).Hoffe geholfen zu haben.
Gruß
MareikeP.S. Unsere Datenbanken liegen so vor, wie es der Poster unter
mir geschrieben hat. Daten getrennt vom Rest und dieser als
lokale Kopie auf jedem Rechner.Ich habe immer wieder das Problem, dass eine Access 2000
Datenbank in einer Mehrbenutzerumgebung durch einzelne
Anwender gespert wird.
Täglich wird diese DB durch ca. 10-20 User genutzt. Immer
wieder kommt es dann willkürlich dazu, dass beim Öffnen die
Fehlermeldung erscheint „Datenbank ist durch Admin PC…
gesperrt …“. Wenn dieser Nutzer (Admin PC…) die DB wieder
schliesst und erneut öffnet ist der Spuk vorbei. Dieses
Verhalten ist weder von einem bestimmten PC noch von einem
bestimmtern Nutzer abhängig und scheint mal öfters und mal
weniger öfter vorzukommen. Was beutet, manchmal passiert dies
an einem Tag mehrere Male und dann ist wieder 2 Wochen nichts
von diesem Phänomen zu sehen.
Was ist die Ursache?
Ich habe immer wieder das Problem, dass eine Access 2000
Datenbank in einer Mehrbenutzerumgebung durch einzelne
Anwender gespert wird.
Folgende Tipps zur Programmierung:
-
Alle Tabellen gehören in eine Datei
-
Alle Formulare, Abfragen, Berichte in eine zweite Datei, wobei auf die Tabelle der ersten verknüpft wird
-
Wann immer möglich bei Formularen und Abfragen und besonders bei der Programmierung (ADO oder DAO) auf LESEZUGRIFF umstellen (OPEN SNAPSHOT)
… dann sollten ein gleichzeitiges Verwenden von bis zu 20 Usern kein Problem sein.
Anmerkung zu Punkt 2:
Manchmal ist es auch von Vorteil wenn jeder Benutzer seine eigene Access Datei hat, anstatt das viele Benutzer mit der Access Datei arbeiten. Die Datei mit den Tabellen gibt es natürlich nur 1x!
Hallo,
nach korrekter Trennung von Daten und Programm wirs es mit Access sicher gut funktionieren.
Ein automatischer abgleich mit BAT Programm (ev sogar in der Autostart der User) dürfe den laufenden Betrieb nicht stören.