In MS-Access gibt es 2 Möglichkeiten, die Datenbank zu schützen: Datenbankpasswort und Arbeitsgruppe (so zumindest in den alten Access Versionen, s.u.)
Das Datenbankpasswort wird im Access selber gesetzt und in die MDB Datei geschrieben. Beim Öffnen der Datenbankdatei mit Access fordert das Programm MSAccess dich zur Eingabe eines Passworts auf (ohne Angabe eines Benutzers)
DSN sähe so aus:
Code:
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;
Wenn du unterschiedliche Benutzer mit unterschiedlichen Passwörter haben willst, brauchst du die Arbeitsgruppe (MDW Datei). Das einzurichten ist allerdings etwas hakelig. Ich hab das zuletzt mit einer Access97 Datenbank gemacht, ist also eine Weile her. Leider kann ich dir nicht mehr genau sagen, wie ich das gemacht hab, ich weiss nur noch, es war ein bischen Fummelei, um die Datenbank zu sichern.
Ausserdem bin ich dann aus meinem Programm nicht über ODBC an die Datenbank herangegangen, sondern über die Jet-Engine, da wird die MDW Datei gesondert angegeben. Ob das mit Access 2003 überhaupt noch so funktioniert, kann ich leider auch nicht sagen
Mit ODBC könnte der DSN String etwa so aussehen:
Code:
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;
Ggfs. müssen dann noch UID und PWD im Connectstring angegeben werden - auch hier bin ich mir nicht sicher, ob ODBC überhaupt damit umgehen kann...
ODBC ist generell die schlechteste Wahl für einen Datenbanktreiber. Es ist furchtbar unperformant, weil es eine breite Palette an Datenbanken unterstützen muss und kann deswegen nicht mit den Besonderheiten der einzelnen Datenbanksysteme umgehen.
Benutz mit PHP lieber eine "echte" Datenbank und einen Treiber, der auf diese abgestimmt ist.