none
Comment faire pour modifier ConnectionString au moment de l'exécution (runtime ) vb.net RRS feed

  • Question

  • j'ai developee une application windows avec une base de donnee sql server 2008 ..

    dans mon local machine fonctionne tres bein apres le setup bien sure mais quand je l'installer au klient machine qui a duron d'avant un sql server deja installer de debut avec un autre Nom .... ici pas de probleme car j'ai une fenetre dans ma programme nommee  connection wizard au debut  (configuration de programme )pour detectee les sql server (local au network) et le base de donnee ...Ma probleme comment d'apres c'est connection wizard je peu le changer la connnection string au momment d'excution (runtime) ,bein evidament changee la appconfig

    svp aidez moi

    est ce qu'il trouve une solution

    merci

    vendredi 9 mars 2012 13:17

Réponses

  • Bonjour,

    Vous pouvez modifier la chaîne de connexion via le code suivant :

    System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionWizardVB.My.MySettings.ConnectionStrings").ConnectionString = "<...>"

    Il faut ajouter une référence à System.Configuration dans votre projet.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 11 mars 2012 19:49
    Modérateur
  • Bonjour,

    Normalement vous pouvez vous contenter de modifier, ou demander à votre client de le faire, la chaîne de connexion dans le fichier .config pour mettre celle du client :

        <connectionStrings>
            <add name="ConnectionWizardVB.My.MySettings.ConnectionStrings"
                connectionString="Data Source=[Sql Server instance du client];Initial Catalog=Northwind;Integrated Security=True"
                providerName="System.Data.SqlClient" />
        </connectionStrings>

    Le fichier .config se trouve dans le même répertoire que votre exécutable, il porte le nome suivant [Nom de votre exécutable].exe.config

    Cordialement.

    lundi 12 mars 2012 10:28
    Auteur de réponse

Toutes les réponses

  • Bonjour,

    Avez vous déjà un fichier app.config dans votre application ?

    Si oui pouvez vous nous poster la section <connexionStrings> de celui ci ? 

    Cordialement.

    vendredi 9 mars 2012 13:43
    Auteur de réponse
  • oui j'ai deja  la ficher app config :

    <connectionStrings>
            <add name="ConnectionWizardVB.My.MySettings.ConnectionStrings"
                connectionString="Data Source=WISSEM-PC\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
                providerName="System.Data.SqlClient" />
        </connectionStrings>

    merci de votre reponse
    dimanche 11 mars 2012 10:37
  • Bonjour,

    Vous pouvez modifier la chaîne de connexion via le code suivant :

    System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionWizardVB.My.MySettings.ConnectionStrings").ConnectionString = "<...>"

    Il faut ajouter une référence à System.Configuration dans votre projet.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 11 mars 2012 19:49
    Modérateur
  • Bonjour,

    Normalement vous pouvez vous contenter de modifier, ou demander à votre client de le faire, la chaîne de connexion dans le fichier .config pour mettre celle du client :

        <connectionStrings>
            <add name="ConnectionWizardVB.My.MySettings.ConnectionStrings"
                connectionString="Data Source=[Sql Server instance du client];Initial Catalog=Northwind;Integrated Security=True"
                providerName="System.Data.SqlClient" />
        </connectionStrings>

    Le fichier .config se trouve dans le même répertoire que votre exécutable, il porte le nome suivant [Nom de votre exécutable].exe.config

    Cordialement.

    lundi 12 mars 2012 10:28
    Auteur de réponse
  • Salut
    Voici mon code , il parait comme-ci il ne marche pas si tu ouvres ton fichier app.config a l' intérieure de ton environnement vb.net mais si tu ouvres ton répertoire d' application dans le fichier bin ou se situe ton fichier.exe par exemple"WindowsApplication1.exe",tu trouveras un fichier comportant le meme nom que ton fichier exe ( pour WindowsApplication1.exe, tu verras WindowsApplication1.exe.config) modifier au niveau du paramètre connectionStrings.

    voici mon fichier app.config Avant modification 

    <connectionStrings>
         <add name="WindowsApplication1.My.MySettings.MonEcole" connectionString="UID=DBA;PWD=sql;Server=GWINNER-PC;DBN=MonEcole;ASTART=No;host=192.168.1.9:2638"
            providerName="iAnywhere.Data.SQLAnywhere" />
      </connectionStrings>

    1 Button.name = button1
    1 textbox.name=textbox1'c'est la ou tu ecriras ta nouvelle connection exemple "UID=DBA;PWD=sql"
    svp tapez a l execution ta connection sur textbox1. voici  ma nouvelle: UID=DBA;PWD=sql

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

            Try
                Dim _connectionStringName As String = "WindowsApplication1.My.MySettings.MonEcole"
                'Try

                Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
                config.ConnectionStrings.ConnectionStrings(_connectionStringName).ConnectionString = TextBox1.Text
                config.Save(ConfigurationSaveMode.Modified, True)
                ConfigurationManager.RefreshSection("connectionStrings")


            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub

    mon app.config Apres

    <connectionStrings>
         <add name="WindowsApplication1.My.MySettings.MonEcole" connectionString="UID=DBA;PWD=sq"
            providerName="iAnywhere.Data.SQLAnywhere" />
      </connectionStrings>

    NB: dans ton répertoire C:\ .......\bin de l’exécutable et pas dans l'environement VB.net

    dimanche 7 avril 2013 05:36