web-dev-qa-db-fra.com

Connexion à la base de données SQL Server locale à l'aide de C #

Supposons que j'ai créé une base de données SQL Server appelée Database1.mdf dans le App_Data dossier dans Visual Studio avec une table appelée Names.

Comment pourrais-je établir une connexion pour lire les valeurs de table à l'aide de C #?

Jusqu'à présent, j'ai essayé quelque chose comme ça:

SqlConnection conn = new SqlConnection("Server=localhost;Database=Database1;");

conn.Open();

// create a SqlCommand object for this connection
SqlCommand command = conn.CreateCommand();
command.CommandText = "Select * from Names";

Mais je reçois une erreur:

base de données introuvable/erreur de connexion à la base de données

11
Tony

Dans Data Source (à gauche de Visual Studio) cliquez avec le bouton droit sur la base de données, puis Configure Data Source With Wizard. Une nouvelle fenêtre apparaîtra, développez la chaîne de connexion, vous pouvez y trouver la chaîne de connexion

11
Mohamad Y. Dbouk

Si vous utilisez authentification SQL, utilisez ceci:

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "User Id=UserName;" + 
     "Password=Secret;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();

Si vous utilisez authentification Windows, utilisez ceci:

using System.Data.SqlClient;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "Integrated Security=true;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();
7
Hassan Boutougha
SqlConnection c = new SqlConnection(@"Data Source=localhost; 
                           Initial Catalog=Northwind; Integrated Security=True");
4
ablaze

Si vous utilisez SQL Server express, modifiez

SqlConnection conn = new SqlConnection("Server=localhost;" 
       + "Database=Database1;");

à

SqlConnection conn = new SqlConnection("Server=localhost\SQLExpress;" 
       + "Database=Database1;");

Cela, et des centaines de chaînes de connexion supplémentaires peuvent être trouvées sur http://www.connectionstrings.com/

3
David

J'aime utiliser le processus pratique décrit ici pour créer des chaînes de connexion en utilisant un fichier .udl. Cela vous permet de les tester à partir du fichier udl pour vous assurer que vous pouvez vous connecter avant d'exécuter un code.

J'espère que cela pourra aider.

2
czuroski

Vous essayez avec cette connexion de chaîne

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|Database1.mdf;Database=dbname; Trusted_Connection=Yes;
2
Aghilas Yakoub