Ich habe ein System, das auf eine MDB-Datei zugreift, die Time-In/Out-Informationen enthält. Diese Software wird normalerweise rund um die Uhr installiert. Wie erhalte ich den Inhalt einer bereits geöffneten MDB-Datei über das PHP, besonders für viele Benutzer? Beachten Sie, dass das System, das ich entwickeln werde, nicht in die MDB-Datei schreibt, sondern nur den Inhalt der Tabelle. Verhindert MDB gleichzeitige Verbindungen?Zugriff auf eine offene MDB-Datei über PHP für viele Benutzer
Antwort
MS Access MDB ermöglicht Dutzende von gleichzeitigen Verbindungen.
Die frühesten Versionen erlaubt etwa 10 gleichzeitige Verbindungen (Edit: gleichzeitige Benutzer. Bitte beachten Sie die Bearbeitung unten), neuere Versionen erlauben viel mehr (read more here).
In der Entwicklung sollten Sie daran denken, dass DB-Verbindungen Ressourcen sind, und sollte klug verwendet werden: Öffnen Sie die Verbindung, um die Daten zu lesen, schließen Sie die Verbindung, arbeiten Sie, öffnen Sie die Verbindung, um Änderungen zu speichern, schließen Sie die Verbindung. Auf diese Weise wird erwartet, dass Sie weit von den Grenzen für gleichzeitige Verbindungen entfernt bleiben, wie auch für Netzwerkbeschränkungen.
EDIT: Der Link oben bezieht sich auf 10 gleichzeitige MS Access Benutzer auf eine einzelne MDB-Datei verknüpft. Beachten Sie, dass jede MS Access MDB-Anwendung (in Access-Begriffen: Frontend) kann Dutzende von geöffneten Verbindungen (in Access-Begriffe: geöffnet Linkd-Tabellen gebundenen Formen zu verknüpften Tabellen), um die MDB-Datei (in Zugriffsbedingungen: Back-End). Diese SW-Architektur ist ziemlich ineffizient und kann die Verwendung eines vollständigen MS-Access-Systems in einer Netzwerkumgebung einschränken.
Systeme, die mdb-Dateien als Datenbank verwenden und sie effizient verwenden, sind hauptsächlich nur auf die Datenbankgröße beschränkt (2 GB in Access 2000 und höher).
Informationen zum Herstellen einer Verbindung mit einer MDB-Datei aus einer anderen Webumgebung finden Sie unter this link from MS MVP.
@Daniel, bitte beachten Sie die Bearbeitung meiner Antwort. – marlan
danke! Ich dachte mir, dass die Back-End-/Front-End-Splits den Trick machen sollten. Ich muss es jetzt testen. Leider bin ich nicht der Schöpfer des anderen Systems und es ist nur auf MDB beschränkt. – Daniel
sollten Sie Ihre Access DB immer auf [Korruption verhindern] aufteilen (http://allenbrowne.com/ser-25.html) – marlan