Ändern Sie SystemDSN in FileDSN für 100 MS Access- und Excel-Dateien

1961
Kanini

Ein bestimmtes Team in meinem Büro verwendet Hunderte von Microsoft Access-Modellen. Sie stellen alle eine Verbindung mit der Datenbank über SystemDSN her, und der Name des SystemDSN ist in den Microsoft Access-Modellen fest codiert.

Mein Teamkollege schlug vor, ein Anmeldeskript zu verwenden, um sicherzustellen, dass der SystemDSN für alle Benutzer konfiguriert ist, die diesem Team angehören. Wenn zum Beispiel ein neuer Teilnehmer kommt, erhält er den DSN automatisch, anstatt die IT-Abteilung zur manuellen Einrichtung aufzurufen.

Ich schlage vor, dass wir FileDSN verwenden, das FileDSN auf einem Netzwerkfreigabepfad speichern und fertig sind. Die Vorteile sind folgende

  1. Wenn ich per Datenbank auf einen neuen Server migrieren sollte, muss ich FileDSN nur an einem Ort aktualisieren und fertig.

  2. Ich kann auf das Microsoft Access-Modell auch über Citrix zugreifen, wo ich SystemDSN möglicherweise nicht als solches verwenden kann.

Das Problem, wie mein Teamkollege vorschlägt, ist

  1. Es gibt über 100 Microsoft AccessModels. Wie können Sie also die hartcodierten Werte von SystemDSN ändern? Er behauptet, es lohnt sich nicht.

Sicher sollte es ein Programmierkonzept für uns geben, um die Änderung auf einmal vorzunehmen.

Während ich mich weiterhin auf die Suche nach einer Lösung stütze, lassen Sie uns alle wissen, wenn jemand da draußen schon eine hat!

0

2 Antworten auf die Frage

2
David W. Fenton

Verwenden Sie stattdessen DSNLess-Verbindungen, damit die Client-Workstations weder ein Setup noch eine zugängliche dateibasierte DSN-Definition benötigen. Ich verwende Doug Steeles Code, um DSN-Verbindungszeichenfolgen in DSN-lose Verbindungszeichenfolgen zu konvertieren:

http://www.accessmvp.com/DJSteele/DSNLessLinks.html

0
Ben

Wenn es sich nur um 100s (nicht um Tausende) handelt, werden Sie wahrscheinlich weniger Zeit zum Ändern benötigen, als wenn Sie ein Anmeldeskript schreiben würden.

Wenn Sie die DSN-lose Route wählen (siehe Davids Antwort), finden Sie hier eine weitere wertvolle Ressource: http://www.connectionstrings.com/