SQLConnection.Open (); exception de lancement

Mise à jour d'un ancien logiciel, mais afin de maintenir la compatibilité ascendante, je dois me connecter à une database .mdb (access).

J'utilise la connection suivante mais continue d'get une exception, pourquoi?

J'ai validé le path, l'existence de la database etc. et tout est correct.

ssortingng Server = "localhost"; ssortingng Database = drive + "\\btc2\\state\\states.mdb"; ssortingng Username = ""; ssortingng Password = "Lhotse"; ssortingng ConnectionSsortingng = "Data Source = " + Server + ";" + "Initial Catalog = " + Database + ";" + "User Id = '';" + "Password = " + Password + ";"; SqlConnection SQLConnection = new SqlConnection(); try { SQLConnection.ConnectionSsortingng = ConnectionSsortingng; SQLConnection.Open(); } catch (Exception Ex) { // Try to close the connection if (SQLConnection != null) SQLConnection.Dispose(); // //can't connect // // Stop here return false; } 

Le message d'exception est:

Une erreur liée au réseau ou à une instance s'est produite lors de l'établissement d'une connection à SQL Server. Le server est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connections distantes. (fournisseur: fournisseur de canaux nommés, erreur: 40 – Impossible d'ouvrir une connection à SQL Server)

Qu'est-ce qui vous fait penser qu'une connection SQL Server (SqlConnection) sera prête à se connecter à une database MDB Access ???

Si vous vous connectez à Access, utilisez OleDbConnection . Pour accéder aux strings de connection, voir http://www.connectionssortingngs.com/access

Vous devez append un fournisseur de données à votre string de connection:

Fournisseur = Microsoft.Jet.OLEDB.4.0; Source de données = C: \ mydatabase.mdb; ID user = admin; Mot de passe =;

essayez cette version plus sûre en utilisant la clause using … comme pour la variable Database , il serait préférable et plus sûr d'utiliser la méthode System.IO.Path.Combine …:

             string Server = "localhost";
             ssortingng Base de données = System.IO.Path.Combine (@ "C: \", @ "\ btc2 \ state \ states.mdb");

             ssortingng Username = "";
             ssortingng Password = "Lhotse";

             ssortingng ConnectionSsortingng = "Source de données =" + Serveur + ";"  +
                                       "Initial Catalog =" + Base de données + ";"  + 
                                       "ID user = '';"  + 
                                       "Mot de passe =" + Mot de passe + ";";
             bool bDatabaseOk = faux;
             using (SqlConnection SQLConnection = new SqlConnection ()) {

                 essayer
                 {
                     SQLConnection.ConnectionSsortingng = Chaînelogin;
                     SQLConnection.Open ();
                     bDatabaseOk = true;
                 }
                 catch (SqlException Ex)
                 {
                    // Gère l'exception SqlException ici ....
                    //
                    // ne peut pas se connecter
                     bDatabaseOk = false;
                 }
             } 
             returnne bDatabaseOk;