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 :

Stocker une chaîne de connexion [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut Stocker une chaîne de connexion
    Bonjour,

    Dans mon projet j'ai de nombreuses fenêtres qui font appel à ma chaîne de connexion que j'ai actuellement stockée dans un module.

    Cependant, je souhaiterais permettre à un utilisateur le choix de l'emplacement de la BDD à attaquer.

    Je ne vois absolument pas comment faire. J'ai cru comprendre qu'en utilisant les ressources du projet on pouvait faire ce type de stockage.

    Pouvez vous m'éclaircir ?

    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Par défaut
    Tu peux sauver la stringConnection dans l'appconfig

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Bonjour et merci pour cette réponse rapide. En effet la chaîne de connexion est stockée dans l'appconfig mais je ne peux pas permettre à l'utilisateur de la modifier directement dans le programme (ex : une fênetre s'ouvre, l'utilisateur parcours les fichiers et sélectionne la BDD qu'il souhaite).

    Actuellement j'utilise ce systeme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Dim MaConnexion As New SqlConnection(ChaineDeCnx)
    Où "ChaineDeCnx" est une variable de la chaine de connexion définie dans un module

    Cordialement

  4. #4
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Si je ne m'abuse (je n'utilise pas souvent ce système), ce qui est contenu dans le fichier appconfig est accessible via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Settings.LeNomDuSettingsQuiVaBien
    De cette manière, tu peux récupérer ta chaîne de connexion.


    Ensuite, ces objets ont une méthode Save. De cette manière, tu peux modifier la valeur de ce qu'il y a dans cet objet et le sauvegarder dans le fichier appconfig.

    En espérant avoir aidé,

    Griftou.

    EDIT : Je viens de tester et cela fonctionne bien. Par contre, pas moyen de retrouver le fichier dans lequel mes nouvelles valeurs sont stockées. Je ne trouve que des fichiers avec les valeurs de bases XD

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par griftou Voir le message
    Si je ne m'abuse (je n'utilise pas souvent ce système), ce qui est contenu dans le fichier appconfig est accessible via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Settings.LeNomDuSettingsQuiVaBien
    De cette manière, tu peux récupérer ta chaîne de connexion.


    Ensuite, ces objets ont une méthode Save. De cette manière, tu peux modifier la valeur de ce qu'il y a dans cet objet et le sauvegarder dans le fichier appconfig.

    En espérant avoir aidé,

    Griftou.

    EDIT : Je viens de tester et cela fonctionne bien. Par contre, pas moyen de retrouver le fichier dans lequel mes nouvelles valeurs sont stockées. Je ne trouve que des fichiers avec les valeurs de bases XD

    Merci pour ta réponse, je pense que je vais pouvoir exploiter ça en effet !

    Edit
    "La propriete est ReadOnly", donc je ne peux pas modifier la chaine de connexion directement

  6. #6
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Ah ouais, j'ai oublié de préciser ça ^^. Utile autre chose que le type ConnectionString. Au final, ça reste une bête string donc met la en type string .

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par griftou Voir le message
    Si je ne m'abuse (je n'utilise pas souvent ce système), ce qui est contenu dans le fichier appconfig est accessible via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Settings.LeNomDuSettingsQuiVaBien
    Tu voulais dire dans le fichier Settings ?
    Si non ! Alors ton affirmation est fausse et ta ligne de code ne fonctionne que si le paramètre est défini dans le fichier Settings et pas dans le fichier app.config.

  8. #8
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Quand on définit quelque chose dans l'onglet settings des propriétés du projet, ça se mets pourtant bien dans le fichier .config de l'application.

    Après, les valeurs qu'on modifie, si elle sont stockée ailleurs, c'est fort probable.

    Je reconnais volontiers ne pas être un expert là dedans. Mais tjs est-il qu'on retrouve bien les nouvelles sauvegardées lorsqu'on fait appelle aux objets contenus dans My.Settings à l'exécution suivante.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par griftou Voir le message
    Quand on définit quelque chose dans l'onglet settings des propriétés du projet, ça se mets pourtant bien dans le fichier .config de l'application.
    T'as bien dit le contenu du fichier app.config. Bah c'est pas tout le contenu qui est accessible mais uniquement les valeurs par défaut du Settings qui sont stockées dans les sections applicationSettings et userSettings. Avec ta ligne de code on ne pourra pas accéder aux paramètres mis dans la section appSettings par exemple.

    Citation Envoyé par griftou Voir le message
    Après, les valeurs qu'on modifie, si elle sont stockée ailleurs, c'est fort probable.
    D'accord avec toi sur ce point.

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par griftou Voir le message
    Ah ouais, j'ai oublié de préciser ça ^^. Utile autre chose que le type ConnectionString. Au final, ça reste une bête string donc met la en type string .
    J'ai essayé de la mettre sous format string, mais ca ne fonctionne pas...

  11. #11
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    0_0

    Que fais-tu exactement ?

    Montre nous du code

  12. #12
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 180
    Points : 4 496
    Points
    4 496
    Par défaut
    Citation Envoyé par griftou Voir le message
    0_0

    Que fais-tu exactement ?

    Montre nous du code
    Encore un pervers qui veut voir du code

  13. #13
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Oh oui oh oui ! Plus de code !!! *bave*

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Je fais comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     My.Settings.MaBDDConnectionString = "la chaine de cnx"
    Et j'ai donc l'erreur :
    ReadOnly
    Et j'ai aussi essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Settings.MaBDDConnectionString.ToString = "la chaine de cnx"
    et j'ai l'erreur :
    cette expression est une valeur et ne peut être assignée...

    Cordialement

  15. #15
    Invité
    Invité(e)
    Par défaut
    Regardes si la scope (portée) de ton paramètre dans le fichier Settings est bien définie à User (Utilisateur) !
    Si la portée est définie à Application alors ton paramètre ne sera pas modifiable via le code d'où la lecture seule.

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Regardes si la scope (portée) de ton paramètre dans le fichier Settings est bien définie à User (Utilisateur) !
    Si la portée est définie à Application alors ton paramètre ne sera pas modifiable via le code d'où la lecture seule.
    Bonjour et merci pour ta réponse, mais je n'ai pas réussi a modifier la portée. Quand c'est la chaîne de connexion, on a pas le choix entre application ou utilisateur dans les paramètres de l'application...

    Cordialement

  17. #17
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Citation Envoyé par Romain0 Voir le message
    Bonjour et merci pour ta réponse, mais je n'ai pas réussi a modifier la portée. Quand c'est la chaîne de connexion, on a pas le choix entre application ou utilisateur dans les paramètres de l'application...

    Cordialement

    C'est pour cela que je disais plus haut de ne pas choisir le type ConnectionString mais simplement String.

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par griftou Voir le message
    C'est pour cela que je disais plus haut de ne pas choisir le type ConnectionString mais simplement String.

    Bonjour,

    Merci je viens de comprendre, cependant, cela ne sauvegarde pas lors de la modification...

    COrdialement

  19. #19
    Invité
    Invité(e)
    Par défaut
    As-tu fais appel à la méthode Save comme suit My.Settings.Save() ?

  20. #20
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    As-tu fais appel à la méthode Save comme suit My.Settings.Save() ?
    Exact, je n'ai pas pensé à le faire car j'ai cru que c'était automatiquement exécute suite a une modification.

    J'ai cependant un autre problème mais qui est mineur.

    en string j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="utf-16"?>
    <SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ConnectionString>Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Romain\Desktop\MaBDD.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True</ConnectionString>
      <ProviderName>System.Data.SqlClient</ProviderName>
    </SerializableConnectionString>
    Donc je dois réutiliser tout ce texte des que je modifie juste l'emplacement de la chaine de connexion. Vu que c'est du string, il faut mettre entre guillemets, mais je ne comprends pas avec le texte qui est déjà : "?xml version="1.0" encoding="utf-16"?"

    du coup ca plante tout vu que ce n'est plus du String. j'ai essayé de rajouter des guillemets, mais ca ne fonctionne pas. C'est surement très simple mais je n'ai pas réusii...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Utilisation d'une chaîne de connexion
    Par niavlys77 dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/02/2010, 20h19
  2. Configuration d'une chaîne de connexion lors du déploiement d'un XBAP
    Par wmenant dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 10/07/2009, 15h26
  3. Stocker une chaîne de taille réduite
    Par rambc dans le forum Général Python
    Réponses: 3
    Dernier message: 09/06/2009, 22h01
  4. comment costruire une chaîne de connexion ADO runtime
    Par lassad dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/10/2005, 14h16

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