ADO.NET: Impossible de se connecter au file de database mdf

J'écris une application qui utilise une database SQL Server 2005. Dans la string de connection, je spécifie le file mdf comme ceci:

connstr = @"Data Source=.\SQLEXPRESS; AttachDbFilename=" + fileLocation + "; Integrated Security=True; User Instance=True"; 

Quand j'exécute le code:

 public static void forceConnection() { try { conn = new SqlConnection(connstr); conn.Open(); } catch (Exception e) { MessageBox.Show(e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { if(conn != null) conn.Close(); } } 

Je reçois une exception:

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: SQL Network Interfaces, erreur: 26 – Erreur de localization du server / de l'instance spécifiée)

Ce code fonctionne sur XP mais pas sur Vista. J'ai essayé d'exécuter Visual Studio en mode admin et déplacé le file mdf vers les dossiers "données user" mais l'erreur persiste.

De l'aide?

Pouvez-vous vous connecter au server sql db dans votre invite de command? Je ferais en sorte que vous puissiez vous connecter en premier.

Essayez d'ouvrir l'invite cmd et tapez sqlcmd -S .\SQLEXPRESS -d your_dbase

Si j'ai des problèmes de connection mssql avec mon code source dotnet, j'essaie de me connecter à la database avec un programme différent. J'utilise queryexpress qui est aussi écrit en dotnet. Si ce programme fonctionne alors je sais que le problème est avec mon code de programme sinon le problème est avec la string de connection, proxy, réseau, sqlserver ou les permissions de l'user.

Avez-vous installé sqlexpress? utilise-t-il le nom_machine \ sqlexpress ou est-il exécuté en tant qu'instance par défaut?

Vous devez vérifier ces cas.

et vous pourriez vouloir utiliser le nom de machine \ nom de l'instance si vous n'utilisez pas l'instance par défaut.