Comment obtenir la chaîne de connexion à partir d'une base de données


197

J'ai créé une base de données avec SQL Server Management Studio, je voudrais maintenant l'utiliser dans mon application C #. J'ai besoin de la chaîne de connexion?

Où puis-je trouver la chaîne de connexion et où ma base de données est-elle stockée?

Dois-je le publier ou quelque chose comme ça, ou est-ce quelque part dans mes documents?

using (var conn = new SqlConnection("your connection string to the database"))

Comment obtenir la chaîne de connexion ? Où puis-je trouver la chaîne de connexion pour copier-coller dans la section ci-dessus?

Comment publier ma base de données pour que Visual Studio puisse la récupérer? Ensuite, je peux simplement tirer la chaîne de connexion de là?


Réponses:


201

Le moyen le plus simple pour obtenir la chaîne de connexion est d'utiliser la fenêtre "Explorateur de serveurs" dans Visual Studio (menu Affichage , Explorateur de serveurs ) et de vous connecter au serveur à partir de cette fenêtre.

Ensuite, vous pouvez voir la chaîne de connexion dans les propriétés du serveur connecté (choisissez la connexion et appuyez sur F4 ou Alt + Entrée ou choisissez Propriétés dans le menu contextuel).

Paramètres de chaîne de connexion avancés: lors de la création de la connexion, vous pouvez modifier n'importe laquelle des options de chaîne de connexion avancées, comme MARS, résilience, timeot, configuration de regroupement, etc. en cliquant sur le bouton "Avancé ..." au bas de la " Ajouter une connexion ". Vous pouvez accéder à cette boîte de dialogue ultérieurement en cliquant avec le bouton droit sur la connexion de données et en choisissant "Modifier la connexion ...". Les options avancées disponibles varient selon le type de serveur.

Si vous créez la base de données à l'aide de SQL Server Management Studio, la base de données sera créée dans une instance de serveur, de sorte que, pour déployer votre application, vous devrez effectuer une sauvegarde de la base de données et la déployer dans le déploiement SQL Server. Vous pouvez également utiliser un fichier de données à l'aide de SQL Server Express (localDB dans SQL Server 2012), qui sera facilement distribué avec votre application.

Autrement dit, s'il s'agit d'une application ASP.NET, il y a un App_Datafolder. Si vous faites un clic droit dessus, vous pouvez ajouter un nouvel élément, qui peut être une base de données SQL Server. Ce fichier se trouvera dans ce dossier, fonctionnera avec SQL Express et sera facile à déployer. Vous avez besoin de SQL Express / localDB installé sur votre machine pour que cela fonctionne.


2
Je comprends de cette façon, et j'aime ça: D mais pourriez-vous expliquer plus en détail comment faire une sauvegarde puis déployer? ma connaissance de MS SQL Server est mauvaise, j'ai commencé à l'utiliser il y a environ une heure: \
Pomster

Existe-t-il un serveur realsql? utiliserez-vous SQL Server Express? est-ce suffisant avec SQL Server Compact Edition? Nous ne pouvons pas obtenir ce que vous pouvez utiliser si vous ne donnez pas d'informations supplémentaires
JotaBe

1
J'ai utilisé MS SQl Server Management Studio 2008, MS SQL Management studio pour créer une base de données. J'ai utilisé une requête pour créer des colonnes. Maintenant, je souhaite le remplir avec mon application C #
Pomster

Cette application sera-t-elle déployée? L'utiliserez-vous localement? Cela vous dérange-t-il du type de serveur dont vous avez besoin?. Je n'ai pas besoin de savoir comment vous avez créé votre base de données, mais où et pourquoi. Je ne peux pas deviner ce dont vous avez besoin !!!
JotaBe

Je vais l'utiliser localement, je ne sais pas ce que tu me demandes de te donner?
Pomster

113

Un moyen très simple de récupérer une chaîne de connexion est de créer un fichier texte, de changer l'extension de .txt en .udl .

Double-cliquez sur le fichier .udl pour ouvrir l' assistant Propriétés de liaison de données .

Configurez et testez la connexion à votre serveur de base de données.

Fermez l'assistant et ouvrez le fichier .udl avec l'éditeur de texte de votre choix et copiez simplement la chaîne de connexion (sans la Provider=<driver>pièce) pour l'utiliser dans votre application C #.

exemple de contenu de fichier udl

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN=""

ce que vous devez copier

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;

Si vous souhaitez spécifier un nom d'utilisateur et un mot de passe, vous pouvez l'adopter à partir d'autres réponses.

Tutoriel: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/


Si cela ne fonctionne pas, certains fichiers reg apporteront des modifications au registre pour activer / désactiver l'extension UDL. Je recherche généralement le dossier Windows pour * .reg.
AMissico

Jetez un œil à générer et enregistrer la chaîne de connexion dans le fichier de configuration Web youtu.be/1WgO7CDSmu8
anomepani

20

Sur connectionstrings.com, vous pouvez trouver la chaîne de connexion pour chaque fournisseur de base de données. Une chaîne de connexion est constituée de certains attributs / propriétés et de leurs valeurs. Pour SQL Server 2008, cela ressemble à ceci (standard, ce dont vous aurez besoin ici):

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

sur myServerAddress, écrivez le nom de votre instance installée (par défaut, c'est .\SQLEXPRESSpour l'édition SQL Server Express). Catalogue initial = le nom de votre base de données, vous le verrez dans SSMS à gauche après la connexion. Le reste parle de lui-même.

Éditer

Vous devrez omettre le nom d'utilisateur et le mot de passe pour l'authentification Windows et les ajouter Integrated Security=SSPI.


11

Si vous avez installé et configuré MS SQL Server et Management Studio, accédez à Visual Studio (Visual Studio et non SQL Server Management Studio).

1] Dans Visual Studio, accédez à Outils -> Se connecter à la base de données .

2] Sous Nom du serveur, sélectionnez votre nom de serveur de base de données (laissez la liste se remplir si cela prend du temps).

3] Sous Se connecter à une base de données, sélectionnez Sélectionner ou entrez un nom de base de données .

4] Sélectionnez votre base de données dans le menu déroulant.

5] Après avoir sélectionné la base de données, essayez de tester la connexion.

6] Si le test de connexion réussit, cliquez sur OK.

7] Dans Visual Studio, accédez à Affichage -> Explorateur de serveurs .

8] Dans la fenêtre de l'Explorateur de serveurs, sous Connexions de données, sélectionnez votre base de données. Cliquez avec le bouton droit sur votre base de données -> Cliquez sur Propriétés .

9] Dans la fenêtre Propriétés , vous verrez votre chaîne de connexion .


9

Ma solution était d'utiliser (2010).

Dans une nouvelle feuille de calcul, sélectionnez une cellule, puis:

Data -> From Other Sources -> From SQL Server 

mettre le nom du serveur , sélectionner la table , etc.,

Lorsque vous arrivez à la boîte de dialogue "Importer des données",
cliquez sur Propertiesdans la boîte de dialogue "Propriétés de connexion",
sélectionnez l'onglet "Définition".

Et là, Excel affiche joliment la chaîne de connexion pour la copie
(ou même exporter le fichier de connexion ... )


Cela fonctionne parfaitement et ne nécessite pas que la connexion soit configurée dans VS.
Robino

Haha, c'est un moyen super créatif et efficace pour y arriver. Je l'ai essayé d'abord simplement parce qu'il ne nécessitait aucune dépendance préalable. Je vous remercie.
Todd

3

mettre la balise ci-dessous dans le fichier web.config dans le nœud de configuration

 <connectionStrings>
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd"
  providerName="System.Data.SqlClient" />

alors vous pouvez utiliser la chaîne de connexion ci-dessus, par exemple

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();

3

Si l'on utilise l'outil Linqpad, après une connexion à une base de données cible à partir des connexions, on peut obtenir une chaîne de connexion à utiliser.

  1. Faites un clic droit sur la connexion à la base de données.
  2. Sélectionner Properties
  3. Sélectionner Advanced
  4. Sélectionner Copy Full Connection String to Clipboard

Résultat: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

entrez la description de l'image ici


Supprimez le en app=LinqPadfonction des pilotes et d'autres éléments tels qu'au Serverlieu de la source, vous devrez peut-être ajuster le pilote en fonction de l'opération cible; mais cela donne une rampe de lancement.


2
J'approuve ce post
Jabberwocky

1

La base de données du serveur SQL sera stockée par défaut dans le chemin suivant

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\

, où <drive> est le lecteur d'installation et X est le numéro d'instance (MSSQL.1 pour la première instance du moteur de base de données). Afin de fournir la chaîne de connexion, vous devez savoir quel est le nom du serveur de la base de données du serveur SQL, où vous avez stocké, suivi de l'instance du serveur de base de données.

Généralement, le nom du serveur sera comme l'adresse IP de la machine à laquelle la base de données est attachée et l'instance par défaut sera SqlExpress

Une chaîne de connexion contient le nom de la source de données , c.-à-d. Le nom du serveur, le catalogue initial , c.-à-d. Le nom de la base de données, l'ID utilisateur , c.-à-d. L'ID utilisateur de connexion de la base de données, le mot de passe, c.-à-d. Le mot de passe de connexion de la base de données.


1
Comment obtenir la chaîne de connexion?
Pomster

1
J'ai jeté un œil dans Program files \ Microsoft SQl Server et je n'ai aucune idée de ce que je recherche?
Pomster

vous n'avez pas besoin de chercher le dossier de stockage de la base de données, consultez le lien que j'ai donné pour la chaîne de connexion et écrivez votre chaîne de connexion.
Sai Kalyan Kumar Akshinthala

0

Si vous avez créé Connection Manager dans votre projet, vous pouvez simplement extraire la chaîne de connexion à partir de là.

String connection = this.dts.connections["<connection_manager_name>"];

Et utilisez cette connexion dans:

using (var conn = new SqlConnection(connection))

S'il vous plait corrigez moi si je me trompe.


0

Le moyen le plus simple, mes amis, est d'ouvrir l'onglet Explorateur de serveurs sur Visual Studio 2019 (dans mon cas), puis d'essayer de créer la connexion à la base de données. Après avoir créé une connexion réussie, faites un clic droit dessus et accédez aux propriétés. Vous y trouverez un champ de connexion de chaîne avec la syntaxe correcte! ... Cela a fonctionné pour moi parce que je connaissais le nom de mon serveur avant la main .... ne pouvais tout simplement pas trouver la syntaxe correcte pour exécuter mon échafaudage ef ...


-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";

2
Comment cela répond-il à la question OP?
Filburt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.