Re^3: PHP und MS-Access im Netz
Hallo Jahan,
Also die Sache mit der Aufteilung Frontend / Backend ist so zu verstehen: Wenn ich unter Access ein Projekt anlege, also Tabellen, Formulare, Berichte, ... anlege und darüber dann evtl. auch noch eine eigene Oberfläche mit Menüs und Dialogboxen, etc. lege, dann landet dies alles in einer MDB-Datei. Will ich mit mehreren Nutzern gleichzeitig mit dieser MDB arbeiten, muss sie auf einem gemeinsam zugreifbaren Server liegen. Die Datenbewegungen finden dann auf File-Ebene statt, was höchst unsicher und langsam ist. Die Access DB Operationen sind berüchtigt! Weiterer Nachteil eines solchen Verfahrens ist, dass Änderungen nur an der "lebenden" Datenbank vorgenommen werden können. Auch dann, wenn diese nur die Oberfläche betreffen. Dies ist höchst gefährlich und auch ungünstig.
Daher trennt man üblicherweise Front- und Backend in zwei eigene MDB-Dateien auf. Das Backend enthält nur die Tabellen, während das Frontend die Berichte, Formulare, etc. enthält. Man kann diese MDB dann beliebig austauschen, wenn Änderungen nötig sind, ohne die Daten in den Tabellen anzufassen. Ein weiterer hier interessanter Vorteil liegt darin, dass Access über ODBC zudem in der Lage ist, als Backend nicht nur MDB-Dateien zu verwenden, sondern auch auf SQL-Servern aufzusetzen. Und hier kommt Dein MySQL- oder aber auch ein MS-SQL-Server ins Spiel. Man konvertiert das Backend (also die Tabellen) auf einen zentralen gemeinsam genutzen SQL-Server, und behält das vertraute Access-Frontend für die Mitarbeiter, die gewöhnt sind damit zu arbeiten. Gleichzeitig kann sich als Client an diesem Server jetzt aber auch der Webserver über z.B. PHP anmelden (Sicherheit!!!). Du bräuchtest also (Sicherheit bei Seite) nur einen einzigen zentralen SQL-Server, der dann für Access-Frontends wie auch für den Webserver über PHP erreichbar wäre. Die Anwender merken, außer durch die vermutlich bessere Performance, nicht von der Änderung. Sie behalten die vertraute Oberfläche. Nur greift die eben nicht mehr auf Dateiebene auf eine MDB-Datei zu, sondern kommuniziert jetzt als echte Client-/Server Anwendung mit dem SQL-Server.
Soweit die Theorie. In der Praxis ist so eine Umstellung natürlich nicht von jetzt auf gleich machbar, da natürlich die Programmierung des Frontends dann auch in Richtung Client-/Server und MySQL-Server zugeschnitten und optimiert werden muss.
Gruß vom Wiz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]