Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# OLEDB Verbindung zur Laufzeit

Empfohlene Antworten

Veröffentlicht

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.

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.

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.

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.

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.

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.

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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.