Moin!
Wir haben für unseren Aussendienst eine Software entwickelt die mit einer lokalen MS
Access DB arbeitet. Die Software läuft seit etlichen Jahren einwandfrei.
Heute hat sich ein Benutzer gemeldet, weil er plötzlich das Programm nicht mehr starten kann. Und zwar auf zwei Rechnern gleichzeitig nicht mehr. Auf beiden lief es vorher.
In dem Moment, wo das Programm eine Verbindung zur
Access-
DB herstellen will, erscheint:
"Die Informationsdatei für Arbeitsgruppen des Microsoft Jet-Datenbankmoduls kann nicht geöffnet werden"
Diese Meldung habe ich bis heute noch nie gesehen. Ich habe schon gegooglet und herausgefunden, dass sie irgendwas mit Benutzer/Sicherheit/Bla zu tun hat und die Jet-Engine automatisch drauf zugreift, wenn eine
Access-
DB geöffnet wird.
Was habe ich bisher überprüft:
- Ich habe probiert, die Datenbank direkt mit Access zu öffnen. Das funktioniert einwandfrei. (Doppelklick auf die mdb-Datei)
- Ich habe überprüft, ob die gesuchte Datei auf dem Rechner vorhanden ist. In diesem Fall liegt sie unter c:\Benutzer\{username}\appdata\roaming\microsoft\access\system.mdw und auch in der Registry ist der korrekte Pfad gesetzt.
- Laut einem Forenbeitrag im Netz kann man diese besagte system.mdw einfach löschen. Es sollte dann automatisch eine neue erzeugt werden und das Problem evtl. behoben sein. Wenn ich es auf meiner Entwicklerkiste probiere, wird auch eine neue system.mdw erzeugt. Beim Benutzer funktioniert dies leider auch nicht.
- Ich habe dann probiert, die system.mdw in den Programmordner zu legen und im ConnectionString per "Jet OLEDB:System Database='{meinpfad}\system.mdw'" einzutragen. Wie Ich gelesen habe, soll man so eine bestimmte .mdw-Datei angeben können. Auch das funktioniert beim Benutzer nicht. Die Meldung bleibt die gleiche. Leider habe ich bei mir auf der Entwicklungskiste auch probiert, absichtlich einen falschen Pfas anzugeben, was gar keine Auswirkungen und Meldungen zur Folge hatte. Ich kann also nicht mal verifizieren, ob die Angabe im ConnectionString überhaupt verarbeitet wird.
Ich bin nun total ratlos. Kennt jemand vielleicht dieses Problem?
Zusatzinfos:
Auf dem einen Rechner des Benutzers lief zuvor noch ein Windows-Update und auf dem anderen soll das Update kurz NACH dem Fehler gemacht worden sein. Ich weiß also nicht, ob es irgendwas mit dem Update zu tun haben kann. Könnte das sein?
Die Datenbank ist passwortgeschützt. Das war aber bisher auch kein Problem.
Der ConnectionString sieht so aus:
Provider=Microsoft.Jet.OLEDB.4.0;User ID={username};
Data Source=patrol2.mdb;Mode=Share Deny None;Jet OLEDB:System database="'+prgPath+'system.mdw";
Jet OLEDB:Registry Path="";Jet OLEDB
atabase Password={passwort};
Jet OLEDB:Engine Type=5;Jet OLEDB
atabase Locking Mode=0;
Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;Jet OLEDB
on''t Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;