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

Windows Forms Discussion :

modifier chaine connexion app.config en VB.net


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 89
    Points : 40
    Points
    40
    Par défaut modifier chaine connexion app.config en VB.net
    Bonjour,


    J'ai crée une application en VB.NET qui me permet de rentrer des donnees dans ma base sql server mais mon administrateur me dit que le serveur de BDD risque de changer.
    Je souhaite donc modifier ma chaine de caractere dynamiquement dans le fichier app.config de mon application.

    Voici mon code:

    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
     
    Try
     
     
                Dim provider As String = "System.Data.SqlClient"
                Dim factory As DbProviderFactory = DbProviderFactories.GetFactory(provider)
     
                Dim builder As DbConnectionStringBuilder = factory.CreateConnectionStringBuilder()
     
                builder.Add("Server", txtServeur.Text)
                builder.Add("database", txtNomBDD.Text)
     
                If (cbSI.Checked = True) Then
                    builder.Add("integrated security", "SSPI")
                Else
                    builder.Add("user", txtUser.Text)
                    builder.Add("password", txtPwd.Text)
     
                End If
     
                Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
                Dim cs As ConnectionStringSettings = config.ConnectionStrings.ConnectionStrings("donnes.My.MySettings.outilSatistiqueConnectionString")
     
                cs.ConnectionString = builder.ConnectionString
                config.Save()   
     
            Catch ex As Exception
                MsgBox("Message: " & ex.Message)
            End Try
    Et voici mon ma chaine de connexion dans app.config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <connectionStrings>
            <add name="donnes.My.MySettings.outilSatistiqueConnectionString"
                connectionString="Data Source=P36RESRGAY2\SQLEXPRESS;Initial Catalog=outilSatistique;Persist Security Info=True;User ID=SA;Password=abdelkader"
                providerName="System.Data.SqlClient" />
        </connectionStrings>
    Mais ca ne marche pas
    Pouvez vous m'aider s'il vous plait ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Je crois pas que ce soit possible de modifier le fichier app.config à partir du code... (en tous cas pas via les classes de configuration). Seuls les settings de niveau "utilisateur" peuvent être modifiés, et ils sont stockés dans un autre fichier dans Documents and settings

    Les settings de type chaine de connexion sont obligatoirement de niveau "application", donc pas modifiables. C'est complètement idiot, j'ai jamais compris pourquoi ils ont fait ça, mais c'est comme ça...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je cherche aussi comment modifier ce fichier config dynamiquement...
    Pour ma part, je vends mon application à quelques entreprise, dans la plupart des cas, la BDD reste en local donc pas de soucis.
    Par contre il m'arrive de leur installer la BDD en réseau, donc modif du fichier config, etc... sauf que si je fait une mise à jours du logiciel, il me remet le fichier config par défaut, donc plus qu'a recommencer... null!

    Si quelqu'un à une solution...

    Merci.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Ca doit être possible de passer par une variable string plutôt que par la ressource application pour stocker cette chaine de connection, mais faut changer un paquet de truc derrière ensuite.

  5. #5
    En attente de confirmation mail
    Inscrit en
    Février 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Je cherche aussi comment modifier ce fichier config dynamiquement...
    Pour ma part, je vends mon application à quelques entreprise, dans la plupart des cas, la BDD reste en local donc pas de soucis.
    Par contre il m'arrive de leur installer la BDD en réseau, donc modif du fichier config, etc... sauf que si je fait une mise à jours du logiciel, il me remet le fichier config par défaut, donc plus qu'a recommencer... null!

    Si quelqu'un à une solution...

    Merci.
    voici ici à quoi doit ressembler une partie de ton fichier app.config
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <connectionStrings>
        <add name="CnxStrName" connectionString="Data Source=(local);Initial Catalog=Bdd;Integrated Security=true;"
          providerName="System.Data.SqlClient" />
      </connectionStrings>
    Pour la chaine de connexion ci-dessus si tu désire modifier dynamiquement ton ta chaine de connexion dans le fichier app.config, jette un coup dans ce code:

    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
     
    'Tu importes d'abord ceci
    Imports System.Configuration
     
    Public Sub ModifChaineConx(ByVal Nomduserveur As String, ByVal Ta_basededonnees As String, ByVal UserIDVar As String, ByVal pwdVar As String)
            Try
                Dim chaineConnnexion As String
                chaineConnnexion = "Integrated Security=true;Data Source=" & Nomduserveur & ";Initial Catalog=" & Ta_basededonnees
     
                'utiliser cette chaine de connexion lorsque vous avez un user id et un password pour votre base de données.
                'chaineConnnexion = "Integrated Security=false;Data Source=" & Nomduserveur & ";User ID=" & UserIDVar & ";Password=" & pwdVar & ";Initial Catalog=" & Ta_basededonnees
     
                Dim conf As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
                conf.ConnectionStrings.ConnectionStrings("cnxStrName").ConnectionString = chaineConnnexion
                conf.Save(ConfigurationSaveMode.Modified)
                ConfigurationManager.RefreshSection("connectionStrings")
     
            Catch ex As exception
                Messagebox.show(ex.message)
            End Try
        End Sub

Discussions similaires

  1. modifier le fichier app.config
    Par sebasti1-88 dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/06/2011, 08h59
  2. sauvegarde chaine de connexion dans app.config C#
    Par Pierro7825 dans le forum C#
    Réponses: 6
    Dernier message: 28/05/2011, 18h26
  3. Winform app.config et chaine de connexion
    Par xian21 dans le forum C#
    Réponses: 4
    Dernier message: 03/08/2010, 14h54
  4. chaine de connexion de app.config
    Par bobby51 dans le forum VB.NET
    Réponses: 4
    Dernier message: 05/06/2008, 10h37
  5. chaine connexion web.config
    Par lionel256 dans le forum VB.NET
    Réponses: 14
    Dernier message: 27/03/2008, 11h59

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