124 votes

Comment puis-je définir une chaîne de connexion SQL Server ?

Je suis en train de développer une application C# simple, et j'aimerais savoir ceci : Lorsque je connecte mon application à SQL Server sur mon PC, je connais la chaîne de connexion (nom du serveur, mot de passe, etc.), mais lorsque je la connecte à un autre PC, la chaîne de connexion à SQL Server est différente. Existe-t-il un compte commun dans SQL Server qui est livré avec un compte par défaut qui peut se connecter ?

J'ai entendu parler de la sa dans le serveur SQL. Quel est le sa ?

162voto

Itachi Points 401

.NET DataProvider -- Connexion standard avec nom d'utilisateur et mot de passe

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
  "Data Source=ServerName;" +
  "Initial Catalog=DataBaseName;" +
  "User id=UserName;" +
  "Password=Secret;";
conn.Open();

.NET DataProvider -- Connexion de confiance

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
  "Data Source=ServerName;" +
  "Initial Catalog=DataBaseName;" +
  "Integrated Security=SSPI;";
conn.Open();

Se référer à la documentation .

45voto

CryogenicNeo Points 595

En fait, vous pouvez utiliser le SqlConnectionStringBuilder pour construire votre chaîne de connexion . Pour construire le chaîne de connexion vous devez instancier un objet à partir de cet objet. SqlConnectionStringBuilder et définissez leurs propriétés avec les paramètres que vous utilisez pour vous connecter à la base de données. Ensuite, vous pouvez obtenir le chaîne de connexion de la ConnectionString à partir de la SqlConnectionStringBuilder comme le montre cet exemple :

Par exemple :

SqlConnectionStringBuilder sConnB = new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString

SqlConnection conn = new SqlConnection(sConnB.ConnectionString);

Vous pouvez soit utiliser le new pour le faire directement.

Par exemple :

SqlConnection conn = new SqlConnection(
    new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString
);

Vous pouvez ajouter d'autres paramètres pour construire votre chaîne de connexion . Rappelez-vous que les paramètres sont définis par les valeurs définies dans le champ SqlConnectionStringBuilder les propriétés des objets.

Vous pouvez également obtenir la chaîne de connexion de la base de données à partir de la connexion de Microsoft Visual Studio avec la base de données jointe. Lorsque vous sélectionnez la base de données, le panneau des propriétés affiche la chaîne de connexion de la base de données. chaîne de connexion .

La liste complète des propriétés de l SqlConnectionStringBuilder est répertorié dans cette page du site MSDN de Microsoft .

A propos de l'utilisateur par défaut de SQL Server, sa signifie "administrateur système" et son mot de passe varie selon la version du serveur SQL. Sur cette page vous pouvez voir comment le mot de passe varie.

SQL Server 2008/R2 Express User : sa Mot de passe : [mot de passe vide - laissez le champ vide pour vous connecter]
SQL Server 201x Express User : sa Mot de passe : Mot de passe 123
SQL Server 20xx Web ou Standard User : sa Mot de passe : sera le même mot de passe de l'administrateur ou de l'utilisateur racine au moment où le SDV a été créé. provisionné.

Vous pouvez vous connecter avec le sa dans cette fenêtre de connexion au début de SQL Server Database Manager. Comme dans cette image :

Log in example

16voto

Hemlata Gehlot Points 329

.NET Data Provider -- Chemin relatif par défaut -- Connexion standard

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

.NET Data Provider -- Chemin relatif par défaut -- Connexion de confiance

 using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

Fournisseur de données .NET -- Chemin relatif personnalisé -- Connexion standard

using System.Data.SqlClient;
AppDomain.CurrentDomain.SetData(
"DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
"AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();  

.NET Data Provider -- Chemin relatif personnalisé -- Connexion de confiance

 using System.Data.SqlClient;
 AppDomain.CurrentDomain.SetData(
 "DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

11voto

Chamila Maddumage Points 335

Vous pouvez utiliser la chaîne de connexion comme suit et vous devez seulement ajouter le nom de votre base de données.

string connetionString = "Data Source=.;Initial Catalog=DB name;Integrated Security=True;MultipleActiveResultSets=True";

8voto

scartag Points 9312

Il y a un certain nombre de choses dont il faut se préoccuper lorsqu'on se connecte à SQL Server sur une autre machine.

  • Adresse hôte/IP de la machine
  • Catalogue initial (nom de la base de données)
  • Nom d'utilisateur/mot de passe valide

Très souvent, SQL Server peut fonctionner comme une instance par défaut, ce qui signifie que vous pouvez simplement spécifier le nom d'hôte/l'adresse IP, mais vous pouvez rencontrer un scénario où il fonctionne comme une instance nommée ( SQL Server Express Edition par exemple). Dans ce cas, vous devrez spécifier le nom de l'hôte ou de l'instance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X