Momentan habe ich keine DB mit Gruppenrichtlinien (eine *.mdw-Datei) da
Aber jetzt habe ich eine und auch getestet, wie es damit funktioniert:
--- odbc.ini ---
[MeinProjekt]
Description = Meine Projekt-DB mit mehreren DB-Benutzern
Driver = MdbTools
Database = /home/me-the-user/path/mein-projekt.mdb
SystemDB = /home/me-the-user/path/meine-gruppendatei.mdw
Servername = localhost
Username = db-benutzer
Password = db-passwort
--- /odbc.ini ---
In PHP erhält man nun so die Namen aller in der DB befindlichen Stammtabellen (ohne Views, Reporte und Schnickschnack):
if ($connection = odbc_connect(
"MeinProjekt", // DB in /etc/odbc.ini definiert
"db-benutzer", // User
"db-passwort" // PW
)) {
if ($res = odbc_exec(
$connection,
"SELECT Name FROM MSysObjects WHERE type=1 AND flags=0"
)) {
echo "<p>Die Datenbank hat folgende Tabellen:</p>\r\n<ul>\r\n";
while ($test = odbc_fetch_array($res)) {
echo sprintf(
"\t<li>%s</li>\r\n",
htmlspecialchars(utf8_decode(
$test['Name'] // k.A. warum hier utf8_decode nötig ist
))
);
}
echo "</ul>\r\n";
}
odbc_close($connection);
echo "<p>Test erfolgreich!</p>";
} else {
echo "<p>Test nicht erfolgreich!</p>";
}
Mögen meine Funde jemandem nützen, der auch so wie ich einen ganzen Tag lang nach einer Linux-only Lösung für Access-Datenbanken gesucht hat.
Es sei der Vollständigkeit halber erwähnt, dass auf diese Art und Weise in die Access-Datei _nicht_ geschrieben werden kann! Die Verbindung über MDB-Tools ist read-only.
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)