IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème app.config/connexion string


Sujet :

VB.NET

  1. #1
    Membre éprouvé
    Homme Profil pro
    R&D imagerie 3D / prog embarquée
    Inscrit en
    Mars 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : R&D imagerie 3D / prog embarquée
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2007
    Messages : 417
    Points : 1 247
    Points
    1 247
    Par défaut Problème app.config/connexion string
    Bonjour,

    Je suis débutant en vb .net et je rencontre de difficultés avec mes paramètres de connexion à la BD. Dans un premier temps j'utilisé directement le paramètre d'application connexionString dans app.config . Quand j'ai écris mon formulaire de configuration de l'application, j'ai changé la chaîne de connexion dans la section connexionString, pour un paramètre utilisateur string portant le même nom. Mon but étant de pouvoir permettre à l'utilisateur de modifier le chemin d'accès à la base de données.
    L'application en mode debug fonctionne toujours correctement. Mais quand j'affiche dans l'interface mon dataSet et que j'essai d'ajouter, de modifier ou requête, ou de consulter une table j'obtiens le message:

    "Echec de configurer tebleAdapteurXXX
    Impossible de trouver la connexion 'maChaineDeConnexion' pour l'objet 'MySettings'. La chaîne de connexion est introuvable dans les paramètres d'application ou le fournisseur de données associé a la chaîne de connexion n'a pas pu être chargé"

    Je ne comprend pas vraiment pour cela fonctionne en mode debug et pas par l'interface vb. La fenêtre de paramétrage de mon projet affiche pourtant les informations voulues.


    Voici le code de mon fichier app.config actuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
                <section name="Recettes_Laksud.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
            </sectionGroup>
        </configSections>
        <connectionStrings />
        <system.diagnostics>
            <sources>
                <!-- Cette section définit la configuration de l'enregistrement dans le fichier journal de My.Application.Log -->
                <source name="DefaultSource" switchName="DefaultSwitch">
                    <listeners>
                        <add name="FileLog"/>
                        <!-- Supprimez les marques de commentaire dans la section suivante pour écrire dans le journal des événements de l'application -->
                        <!--<add name="EventLog"/>-->
                    </listeners>
                </source>
            </sources>
            <switches>
                <add name="DefaultSwitch" value="Information" />
            </switches>
            <sharedListeners>
                <add name="FileLog"
                     type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
                     initializeData="FileLogWriter"/>
                <!-- Supprimez les marques de commentaire dans la section suivante et remplacez APPLICATION_NAME par le nom de votre application à inscrire dans le journal des événements de l'application -->
                <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
            </sharedListeners>
        </system.diagnostics>
        <userSettings>
            <Recettes_Laksud.My.MySettings>
                <setting name="RECETTESConnectionString" serializeAs="String">
                    <value>
                      Provider=Microsoft.Jet.OLEDB.4.0;Data Source=O:\SvgGrenier\MesDocs\Recettes\recettes\BDRecettes\RECETTES.MDB
                    </value>
                </setting>
                <setting name="ConnectionStringPrix" serializeAs="String">
                    <value>
                      Dsn=prixRecetteLaksud
                      </value>
                </setting>
            </Recettes_Laksud.My.MySettings>
        </userSettings>
    </configuration>
    Et voici l'ancien fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
        </configSections>
        <connectionStrings>
            <add name="Recettes_Laksud.My.MySettings.RECETTESConnectionString"
                connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=O:\SvgGrenier\MesDocs\Recettes\recettes\BDRecettes\RECETTES.MDB"
                providerName="System.Data.OleDb" />
            <add name="Recettes_Laksud.My.MySettings.ConnectionStringPrix"
                connectionString="Dsn=prixRecetteLaksud" providerName="System.Data.Odbc" />
        </connectionStrings>
        <system.diagnostics>
            <sources>
                <!-- Cette section définit la configuration de l'enregistrement dans le fichier journal de My.Application.Log -->
                <source name="DefaultSource" switchName="DefaultSwitch">
                    <listeners>
                        <add name="FileLog"/>
                        <!-- Supprimez les marques de commentaire dans la section suivante pour écrire dans le journal des événements de l'application -->
                        <!--<add name="EventLog"/>-->
                    </listeners>
                </source>
            </sources>
            <switches>
                <add name="DefaultSwitch" value="Information" />
            </switches>
            <sharedListeners>
                <add name="FileLog"
                     type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
                     initializeData="FileLogWriter"/>
                <!-- Supprimez les marques de commentaire dans la section suivante et remplacez APPLICATION_NAME par le nom de votre application à inscrire dans le journal des événements de l'application -->
                <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
            </sharedListeners>
        </system.diagnostics>
    </configuration>
    Dans ce fichier il y a deux chaines de connexion, mais ce n'est que la première qui pose un problème, celle sur une BD Access.

    Merci d'avance de votre aide
    Abientot

  2. #2
    Membre éprouvé
    Homme Profil pro
    R&D imagerie 3D / prog embarquée
    Inscrit en
    Mars 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : R&D imagerie 3D / prog embarquée
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2007
    Messages : 417
    Points : 1 247
    Points
    1 247
    Par défaut
    Bonjour,

    J'ai réglé mon problème en revenant en arrière. Mais du coup maintenant ma connectionString est de nouveau en paramètre application. Je ne comprend pas comment permettre à l'utilisateur de modifier le chemin d'accès vers la BD.
    Est-il possible de mettre une variable dans ma connectionString qui fait référence à une balise de mes paramètres utilisateurs.
    Dans le genre (bien sur la syntaxe n'est pas correcte):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <connectionStrings>
            <add name="Recettes_Laksud.My.MySettings.RECETTESConnectionString"
                connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[cheminBD]"
                providerName="System.Data.OleDb" />
        </connectionStrings>
    Où [cheminBD] référe à un paramètre utilisateur

    Merci d'avance

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2004
    Messages : 157
    Points : 123
    Points
    123
    Par défaut
    Personnelement j'utilise le system.configuration.configuration et ne laisse surtout pas vb toucher a ce fichier.config.

    ça te permet de gèrer ton fichier comme tu l'entends.

    c'est long, mais pas compliqué et tu as la main mise sur tout ce qu'il y a dans ton fichier.

    il ne te reste plus qu'a aller chercher ta connectionString avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configFile.connectionString(key).connection string
    la key représente le nom de reference que tu auras donné a ta connectionString et tu pourras donc jouer avec x connexions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2008, 10h26
  2. Problème avec App.config
    Par djorfe dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 13/10/2008, 09h15
  3. chaine de connexion de app.config
    Par bobby51 dans le forum VB.NET
    Réponses: 4
    Dernier message: 05/06/2008, 10h37
  4. [VC++ 2005]Problème app.config
    Par tukutt dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 02/05/2007, 16h35
  5. Réponses: 2
    Dernier message: 23/03/2007, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo