TinTin Geschrieben 12. März 2008 Geschrieben 12. März 2008 Nach langer Zeit nochmal ein fröhliches Servus, ich habe von einem Kollegen, nein der ist nicht mehr im Unternehmen, ein C# Projekt bekommen. Dieses ist ein mit dem VS2005 Assistenten erstelltes OLEBD Projekt welches auf eine *.mdb zugreift. So weit ,so gut. Der Pfad zu der Access DB ist wohl in der Datei 'app.config' fest verdratet. <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="Kunden.Properties.Settings.kundenConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\kunden.mdb;Persist Security Info=True" providerName="System.Data.OleDb" /> </connectionStrings> </configuration> Ich würde nun gerne, ohne dass ich das Projekt groß verändern muß, die Datenbankverbindung zur Laufzeit beeinflussen können. Etwa durch eine *.ini, in der ich den Pfad zur DB hinterlege und dann den Connectionstring beim Start der Anwendung zusammenbaue. Hat jemand eine Idee wo ich da am geschicktesten anfassen muss/sollte? Der Connectionstring ist hier hinterlegt global::Kunden.Properties.Settings.Default.kundenConnectionString Da kann ich aber nichts überschreiben.
TDM Geschrieben 12. März 2008 Geschrieben 12. März 2008 global::Kunden.Properties.Settings.Default.kundenConnectionString Da kann ich aber nichts überschreiben. Wieso nicht? Am Ende das Save vergessen?
TinTin Geschrieben 12. März 2008 Autor Geschrieben 12. März 2008 global::Kunden.Properties.Settings.Default.kundenConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=z:\\kunden.mdb;Persist Security Info=True"; Meldung beim Erstellen: Kunden.Properties.Settings.kundenConnectionString" kann nichts zugewiesen werden -- sie sind schreibgeschützt.
TDM Geschrieben 12. März 2008 Geschrieben 12. März 2008 Ahja, gesehen wo ran es liegt. Mach ein Usersetting draus. Application-scope settings sind read-only.
TinTin Geschrieben 12. März 2008 Autor Geschrieben 12. März 2008 Ahja, gesehen wo ran es liegt. Mach ein Usersetting draus. Application-scope settings sind read-only. Wie, Wo Was??? C# ist noch nicht meine Welt.
TDM Geschrieben 12. März 2008 Geschrieben 12. März 2008 Im Projekt klickst du doppelt auf die Properties. Dann müsste ein Fenster für die Einstellungen mit deren Name, Typ etc. aufgehen. Da wählst du in Bereich einfach "Benutzer" statt "Anwendung" aus.
TinTin Geschrieben 12. März 2008 Autor Geschrieben 12. März 2008 Im Projekt klickst du doppelt auf die Properties. Dann müsste ein Fenster für die Einstellungen mit deren Name, Typ etc. aufgehen. Da wählst du in Bereich einfach "Benutzer" statt "Anwendung" aus. Ich kann da nichts auswählen wenn 'Verbindungszeichenfolge' gewählt ist.
TDM Geschrieben 12. März 2008 Geschrieben 12. März 2008 Ach du hast das so gemacht... Nuja, du könntest es einfach auf "string" umschreiben, aber keine Ahnung, welche Auswirkungen das dann auf deinen Quelltext hat. Könnte sein, da geht manches nicht mehr.
TinTin Geschrieben 12. März 2008 Autor Geschrieben 12. März 2008 Ach du hast das so gemacht... Was meinst damit? ICH hab gar nichts gemacht, ich hab nur den Ärger damit. ;-) Anwendungsspezifische Einstellungen (z. B. Verbindungszeichenfolgen) sind der Anwendung zugeordnet. Benutzer können sie zur Laufzeit nicht ändern. Das sagt die MSDN zu dem Thema
TDM Geschrieben 12. März 2008 Geschrieben 12. März 2008 Ok, dann war es halt der vor dir. Ja, das ist mir schon klar, lt. MSDN ist eine Verbindungszeichenfolge immer konstant, deswegen mag ich diesen "Typ" nicht. Ich nehme meistens einen String als Property und bastel mir den aus Einstellungen zusammen, da ich meine Datenbankanbindung auch immer dynamisch schreibe. Wie gesagt, als "string" und Bereich "Benutzer" sollte das eigentlich passen, denn eine Verbindungszeichenfolge ist in meinen Augen auch nur ein string.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden