PDA

Vollständige Version anzeigen : Passwortgeschütze DB im Netzwerk


Carsten
27.06.2001, 09:47
Hallihallo VB-Gemeinde
wie kann ich sicherstellen, dass beim Setup einer VB-Anwendung mit einer Access-Datenbank im Netzwerk auch die Datenquelle mit Access-Kennwort installiert wird ohne dass der Anwender dieses Passwort weiß?
Welche Methode ist am zuverlässigsten? .udl oder dns oder direkt im Programm?
Weiss jemand nen Link oder hat vielleicht jemand Erfahrung mit diesem Thema?
Ich brauche nicht unbedingt ne Komplettlösung. Ein Denkanstoss wäre schon prima.
Danke

Stefan Kulpa
27.06.2001, 14:39
<font face="Verdana" size="2">Hallo,

wenn man überhaupt von Sicherheit sprechen kann, ist wohl ein Datenbankkennwort am einfachsten.
Die sonstigen Sicherheitsmöglichkeiten in Access sind deutlich aufwendiger (Systemdatenbank etc.).
Ein Datenbank-Kennwort muss dann lediglich beim Öffnen der Datenbank übergeben werden; sei es "manuell" über OpenDatabase ... oder mittels DataEnvironment. Außerdem vereinfacht dies die Installation deutlich, da lediglich die Datenbank ins Netz kopiert werden muss.
Falls Du nähere Infos über die sonstigen Sicherheitsmechanismen von Access benötigst, solltest Du die Profis im Access-Forum fragen ...

HTH</font>

Carsten
27.06.2001, 14:46
Jaja, Stefan
so weit bin ich - nur woher weiss VB nach der Installation, wo meine db zu finden ist??
Sollte man die Verbindung inclusive des Kennwortes in einer dsn speichern?
Das müsste dann allerdings programmgesteuert geschehen.
Ich habe es vor einiger Zeit mal versucht eine Programmgesteuerte "Direktverbindung" zur DB herzustellen, bin aber bei der Übergabe des Passwortes gescheitert.
hier könnte man sicherlich den Pfad zu einer db über ein File-Dialog-Fenster realisieren und in einer .dat unterbringen.
Das passwort darf der Anwender allerdings niemals benötigen bzw erfahren. (Das ließe sich ja als Konstante ins Programm einbauen.
Nur wie öffne ich die Datenquelle, wenn sie ein Passwort benötigt (als ADO-Quelle)

Stefan Kulpa
27.06.2001, 15:15
<font face="Verdana" size="2">Hallo,

womit installierst Du denn? Ich benutze hauptsächlich Wise und kann während der Installation beispielsweise INI-Dateien beschreiben und/oder Registry-Einträge durchführen. Somit läßt sich recht einfach rausfinden, wohin etwa kopiert wurde. Ansonsten wird eigentlich eine INSTALL.LOG (o.ä.) angelegt, aus der i.d.R. ebenfalls die Zielordner hervorgehen.
Falls dies alles nicht funktioniert, besteht auch die Möglichkeit, beim ersten Programmstart den Benutzer aufzufordern, den Ordner anzugeben oder selbst nach der Datenbank zu suchen.
Die Geschichte mit der DSN kommt dem ja Nahe, ist aber nicht unbedingt nötigt, wenn Du nicht via ODBC auf die Daten zugreifst.
Wie hast Du denn den Zugriff mit Passwort versucht? Hast Du schon mal mit dem DataEnvrionment gearbeitet? Damit ist der Datenbankzugriff nahezu ein "Kinderspiel" (naja, für "große" Kinder). Gerade beim Zugriff mittels ADO wäre das eine echte Alternative ...
Die ConnectionSource mit einem Datenbank-Kennwort sieht übringens wie folgt aus:</font>

<font face="Courier New" size="2">Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<font color="#FF0000">MyDb.mdb</font>;Persist Security Info=True;Jet OLEDB:Database Password=<font color="#FF0000">MyPassword</font></font>

<font face="Verdana" size="2">HTH</font>