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 ?

7voto

Nous pouvons simplement nous connecter à la base de données comme ceci :

 uid=username;pwd=password;database=databasename;server=servername

Par exemple :

string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
                            database=spacecraft_db;
                            server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);

6voto

voo Points 3505

Vous pouvez utiliser soit l'authentification Windows, si votre serveur est dans le domaine, soit l'authentification SQL Server. Sa est un administrateur système, le compte Root pour l'authentification du serveur SQL. Mais c'est une mauvaise pratique de l'utiliser pour se connecter à vos clients.

Vous devez créer vos propres comptes, et les utiliser pour vous connecter à votre instance SQL Server. Dans chaque connexion, vous définissez connexion au compte son mot de passe et le base de données par défaut à laquelle vous voulez vous connecter.

6voto

Menuka Ishan Points 1144

sa est un compte d'administrateur système qui est fourni par défaut avec SQL Server. Comme vous le savez peut-être déjà, vous pouvez utiliser deux méthodes pour vous connecter à SQL Server.

screen shot of SQL Server Management Studio

Il existe donc des chaînes de connexion qui conviennent à chaque scénario (comme l'authentification Windows, localdb, etc.). Utilisez Chaînes de connexion au serveur SQL pour les applications Web ASP.NET pour construire votre chaîne de connexion. Il s'agit de balises XML. Vous avez juste besoin d'une valeur de chaîne de connexion .

5voto

dotNET Points 5290

Vous devez comprendre qu'un serveur de base de données ou DBA ne voudrait pas que n'importe qui puisse se connecter ou modifier le contenu du serveur. C'est là tout l'objet des comptes de sécurité. Si un seul nom d'utilisateur/mot de passe pouvait fonctionner sur n'importe quelle machine, il ne fournirait aucune protection.

Ce truc "sa" dont vous avez entendu parler, ne fonctionne pas avec SQL Server 2005 , 2008 o 2012 . Je ne suis pas sûr des versions précédentes. Je crois que quelque part dans les premiers jours de SQL Server, le nom d'utilisateur et le mot de passe par défaut étaient les suivants sa / sa mais ce n'est plus le cas.

Pour information, la sécurité des bases de données et les rôles sont beaucoup plus compliqués de nos jours. Vous voudrez peut-être vous pencher sur les détails de l'authentification basée sur Windows. Si votre serveur SQL est configuré pour cela, vous n'avez pas besoin d'un nom d'utilisateur/mot de passe dans la chaîne de connexion pour vous y connecter. Tout ce que vous devez changer est le nom de la machine du serveur et la même chaîne de connexion fonctionnera avec vos deux machines, à condition que les deux aient le même nom de base de données bien sûr.

-2voto

DM-techie Points 17
"ConnectionString":{
  "Database_Name": "server=.;database=Database_Name;Integrated Security=true;"
},

Essayez celui-ci

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