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

ADO.NET Discussion :

Connexion à une base de donnée.


Sujet :

ADO.NET

  1. ###raw>post.musername###
    Nouveau Candidat au Club
    Connexion à une base de donnée.
    Bonjour,

    je suis débutant et je souhait me connecter à ma base de donnée Bdc_Rdv.
    Dans Visual Studio j'ai comme chaîne de connexion à ma base de donnée:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C:\Users\dethoor-ax\Documents\Visual Studio 2017\Projects\Contraintes_Experts_Apps\Contraintes_Experts_Apps\Bdc_Rdv.mdf";Integrated Security=True


    J'ai donc créer une fonction pour créer cette chaine de connexion.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    static private string GetConnectionStringBdcRdv()
            {
                //Attributs
                string DataSource = "Data Source=(LocalDB)\\MSSQLLocalDB;";
                string AttachDbFilename = "AttachDbFilename=" + '"' + "C:\\Users\\dethoor-ax\\Documents\\Visual Studio 2017\\Projects\\Contraintes_Experts_Apps\\Contraintes_Experts_Apps\\Bdc_Rdv.mdf;" + '"';
                string IntegratedSecurity = "Integrated Security = True";
                string ConnexionString = null;
     
                //Création de la chaine de connexion
                ConnexionString = DataSource + AttachDbFilename + IntegratedSecurity;
     
                return ConnexionString;
            }


    Jusque là tout va bien

    Hors lors de la création de la connexion j'ai un message d'erreur suivant :
    "System.ArgumentException*: 'Le format de la chaîne d'initialisation n'est pas conforme à la spécification qui débute à l'index 35.'"

    Voici les détails de cette erreur :
    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
     
    L'exception System.ArgumentException s'est produite
      HResult=0x80070057
      Message=Le format de la chaîne d'initialisation n'est pas conforme à la spécification qui débute à l'index 35.
      Source=System.Data
      Arborescence des appels de procédure*:
       à System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue)
       à System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
       à System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
       à System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
       à System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
       à System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
       à System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
       à System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
       à System.Data.SqlClient.SqlConnection..ctor(String connectionString, SqlCredential credential)
       à System.Data.SqlClient.SqlConnection..ctor(String connectionString)
       à Contraintes_Experts_Apps.Fenetre_Expert.Afficher_Rdv_Jour() dans C:\Users\dethoor-ax\Documents\Visual Studio 2017\Projects\Contraintes_Experts_Apps\Contraintes_Experts_Apps\Fenetre_Expert.cs :ligne 94
       à Contraintes_Experts_Apps.Fenetre_Expert..ctor() dans C:\Users\dethoor-ax\Documents\Visual Studio 2017\Projects\Contraintes_Experts_Apps\Contraintes_Experts_Apps\Fenetre_Expert.cs :ligne 25
       à Contraintes_Experts_Apps.Connexion.Btn_Connexion_Click(Object sender, EventArgs e) dans C:\Users\dethoor-ax\Documents\Visual Studio 2017\Projects\Contraintes_Experts_Apps\Contraintes_Experts_Apps\Connexion.cs :ligne 48
       à System.Windows.Forms.Control.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ButtonBase.WndProc(Message& m)
       à System.Windows.Forms.Button.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.Run(Form mainForm)
       à Contraintes_Experts_Apps.Program.Main() dans C:\Users\dethoor-ax\Documents\Visual Studio 2017\Projects\Contraintes_Experts_Apps\Contraintes_Experts_Apps\Program.cs :ligne 19


    Voici le code pour la connexion à ma base de donnée :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public void Afficher_Rdv_Jour()
            {
                //Récuperd la chaine de connexion de Bdc_Rdv
                string ChaineConn = GetConnectionStringBdcRdv();
     
                //Création de la connexion 
                SqlConnection connexion = new SqlConnection(ChaineConn);
                connexion.Open();
                MessageBox.Show("Connected!");
                connexion.Close();
     
            }


    Je ne comprends pas cette erreur et ça commence un peu à me chauffer.

    Merci d'avance pour votre aide.
    Cordialement,
    YorKen
      0  0

  2. #2
    Membre éprouvé
    Bonjour,

    Une chaine de connexion à une BDD n'est pas vraiment une chaine de caractères.

    Tu peux peut-être regarder : SqlConnectionStringBuilder

  3. ###raw>post.musername###
    Membre averti
    A vérifier mais tes concaténations de chaines de caractères doivent donner :
    Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename="C:\\Users\\...\\Bdc_Rdv.mdf;"Integrated Security = True

    Alors que tu devrais plutôt avoir :
    Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename="C:\\Users\\...\\Bdc_Rdv.mdf";Integrated Security = True

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    string AttachDbFilename = "AttachDbFilename=\"C:\\Users\\dethoor-ax\\Documents\\Visual Studio 2017\\Projects\\Contraintes_Experts_Apps\\Contraintes_Experts_Apps\\Bdc_Rdv.mdf\";";
      0  0

  4. #4
    Nouveau Candidat au Club
    Merci pour vos réponses.

    Je vérifie ça dés que possible.
    Je vous tiens informés.

    Cordialement,
    YorKeN