Anwendung und Access-DB

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ptbberlin.

    Anwendung und Access-DB

    Hallo,
    Ich schlage mich jetzt schon eine Woche mit einem eigentlich simplen Problem herum: Ich habe eine Anwendung mit typisierten DataSets und einer Access-DB als Datenquelle. Läuft in der Entwicklung problemlos.
    Jetzt das Problem: Die Verbindung zur Datenquelle läuft ja über den von VisualStudio generierten ConnectionString, der u.a. in der programm.exe.config hinterlegt ist. Als Source ist der Pfad der Entwicklungsumgebung eingetragen. Also den ConnectingString ändern. Entweder über die Settings oder die programm.exe.config. Beides macht Probleme:
    ConnectionString in den Settings ändern geht nicht, ist ja leider nur ReadOnly.
    Ändern der config als Mittel der Wahl? Geht zwar in meiner Entwicklungsumgebung, aber: Wenn das Programm auf einem anderer Rechner installiert wird, stimmt die Adresse natürlich nicht mehr. Könnte ich beim Programmstart ja ändern, aber der Ordner Programm (x86) hat i.d.R. nur Leserechte! Daher ist leider der Weg über den relativen Pfad |DataSource| auch nicht möglich.

    Die DB in einen Benutzerordner (\User\AppData\local\.. verschieben: geht. Aber ich kann diesen Speicherort wegen des bei der Installation unbekannten User-Namens nicht vor der Installation in die .config übernehmen. Nachher geht wegen fehlender Rechte der ja in dem Programm(x86)-Ordner liegenden config auch nicht.

    Google habe ich natürlich schon heftigst befragt, aber keine wirklich verwertbare Lösung gefunden.
    Es kann doch wirklich nicht so selten sein, dass eine auf Access aufbauende App auf andere Rechner installiert wird (und dann auch auf die DB lesend und schreibend zugreifen kann/soll). Wie habt Ihr das gelöst???

    Grüße
    ptbberlin
    Ich lasse den Benutzer beim Programmstart den Pfad zur DB auswählen, sofern noch keiner angegeben wurde. Das Speichern der Verbindungsdaten mache ich jedoch manuell (xml/txt/usw.) oder über die (My)Settings.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    VB 1963
    "dynamischer Pfad" für DB hatte ich auch schon versucht. Anscheinend gibt es aber Probleme mit "DataDirectory" -> DataDirectory blieb immer der Pfad der Application (Programm(x86), warum auch immer.
    Aber der zweit Link hat geholfen!! Damit funktioniert es!!. Danke!