Veröffentlicht 12. März 200817 j 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.
12. März 200817 j global::Kunden.Properties.Settings.Default.kundenConnectionString Da kann ich aber nichts überschreiben. Wieso nicht? Am Ende das Save vergessen?
12. März 200817 j 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.
12. März 200817 j Ahja, gesehen wo ran es liegt. Mach ein Usersetting draus. Application-scope settings sind read-only.
12. März 200817 j 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.
12. März 200817 j 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.
12. März 200817 j 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.
12. März 200817 j 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.
12. März 200817 j 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
12. März 200817 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.