Comment se connecter à LocalDB dans Visual Studio Server Explorer?
Je ne peux pas croire que je n'ai pas pu trouver une solution de travail après une heure de recherche. Je suis Cet article sur Entity Framework 6.0 qui donne un simple aperçu du Code en premier. J'ai créé le projet et installé le dernier paquet EF Nuget pour que le projet soit compilé. J'ai également vérifié que Microsoft SQL Server 2012 Express LocalDB est installé avec Visual Studio 2013. Je n'ai pas d'autres instances de SQL installées sur mon ordinateur local. Le programme s'exécute et les entrées sont ajoutées à la base de données et sorties dans la console. Mais quand l'article dit "vérifiez votre localdb" il ne dit pas comment! Je ne vois pas du tout".mdf ou.fichiers LDF ' créés sous le dossier du projet. J'ai essayé tous les moyens de connecter L'Explorateur de serveur de Visual Studio à LocalDB. L'assistant ne peut pas localiser (localdb)
ou ne peut trouver aucun fournisseur dans L'Explorateur de serveur pour accepter la chaîne de connexion comme (localdb)v11.0;Integrated Security=true;
j'ai vu cela demandé plusieurs endroits dans StackOverflow mais aucune réponse ne fonctionne ou marquée comme réponse. S'il vous plaît aider, cela ne doit pas être aussi frustrant!
Quelles sont les étapes pour connecter Visual Studio Server Explorer à LocalDB?
13 réponses
OK, répondre à ma propre question.
Étapes pour connecter LocalDB à Visual Studio Server Explorer
- ouvrir l'invite de commande
- Exécuter
SqlLocalDB.exe start v11.0
- Exécuter
SqlLocalDB.exe info v11.0
- Copiez le nom du canal D'Instance qui commence par np:\...
- dans Visual Studio, sélectionnez Outils > connexion à la base de données...
- Pour le Nom du Serveur entrez
(localdb)\v11.0
. Si cela n'a pas fonctionné, utilisez le nom du canal D'Instance {[16] } que vous avez copié précédemment. Vous pouvez également l'utiliser pour vous connecter avec SQL Management Studio. - Sélectionnez la base de données dans la liste déroulante suivante
- Cliquez sur OK
Dans Visual Studio 2012 tout ce que j'avais à faire était d'entrée:
(localdb)\v11.0
Visual Studio 2015 et Visual Studio 2017 changé:
(localdb)\MSSQLLocalDB
Comme nom de serveur lors de l'ajout d'une source Microsoft SQL Server Data
dans:
View/Server Explorer/(Right click) Data Connections/Add Connection
Puis les noms de base de données ont été remplis. Je n'avais pas besoin de faire toutes les autres étapes de la réponse acceptée, bien que ce serait bien si le nom du serveur était disponible automatiquement dans la liste déroulante Nom du serveur.
Vous pouvez également parcourir le LocalDB noms de base de données disponibles sur votre machine à l'aide de:
View/SQL Server Object Explorer.
Sélectionner dans:
- Source Des Données:
Microsoft SQL Server (SqlClient)
- nom du Serveur:
(localdb)\MSSQLLocalDB
- Connectez-vous au serveur:
Use Windows Authentication
Appuyez sur le bouton Actualiser pour obtenir le nom de la base de données:)
Ça a marché pour moi.
- Ouvrir l'invite de commande
- Exécuter " SqlLocalDB.exe début "
- Réponse système "instance LocalDB "mssqllocaldb" démarrée."
- dans VS View View / Explorateur de serveur / (clic droit) connexions de données / ajouter une connexion
- Source de données: Microsoft SQL Server (SqlClient)
- Nom du serveur: (localdb)\MSSQLLocalDB
- Connectez-vous au serveur: utilisez L'authentification Windows
- Appuyez sur "Tester la connexion", puis sur OK.
Ce qui suit fonctionne avec Visual Studio 2017 Community Edition sur Windows 10 en utilisant SQLServer Express 2016.
Ouvrez un PowerShell vérifiez comment il s'appelle en utilisant SqlLocalDB.exe info
et s'il S'exécute avec SqlLocalDB.exe info NAME
. Voici à quoi ça ressemble sur ma machine:
> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name: mssqllocaldb
Version: 13.0.1601.5
Shared name:
Owner: DESKTOP-I4H3E09\simon
Auto-create: Yes
State: Running
Last start time: 4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>
S'il ne fonctionne pas, vous devez le démarrer avec SqlLocalDB.exe start MSSQLLocalDB
. Quand il est en cours d'exécution, vous voyez le {[4] } qui commence par np:\\
. Copiez cette chaîne nommée pipe. Dans VS2017 ouvrez la vue Server Explorer
et créez une nouvelle connexion de tapez Microsoft SQL Server (SqlClient)
(ne vous laissez pas berner par les autres types de fichiers que vous voulez le type de connexion fat complet) et définissez Server name:
comme le nom du canal d'instance que vous avez copié à partir de PowerShell.
J'ai également défini Connect to database
comme étant la même base de données que dans la chaîne de connexion qui fonctionnait dans mon projet Dotnet Core / Entity Framework Core qui a été configuré en utilisant dotnet ef database update
.
Vous pouvez vous connecter et créer une base de données en utilisant sqlcmd
et la chaîne de canal nommée:
sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query
1> create database EFGetStarted.ConsoleApp.NewDb;
2> GO
Il y a instructions sur la façon de créer un utilisateur pour votre application à https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility
Utilisez SQL Server Object Explorer (SSOX) à la place
Contrairement aux autres réponses, cette approche utilise:
- Pas de commandes spéciales.
- Pas de configurations compliquées.
Utilisez simplement l'Explorateur D'objets SQL Server
C'est assez simple...
- De la Afficher menu, ouvrez Explorateur d'Objets SQL Server.
- faites un clic droit sur la vue
{YourTableName}
table > Designer
Fait.
Visual Studio 2015 RC, a LocalDb 12 installé, des instructions similaires à celles d'avant mais ne devraient toujours pas être nécessaires pour connaître 'magic', avant de l'utiliser, l'instance par défaut aurait dû être activée ... Rant complet, non pour la solution:
cmd> sqllocaldb start
Qui affichera
LocalDB instance "MSSQLLocalDB" started.
Votre occurrence nom peut différer. De toute façon pop sur VS et ouvrez L'Explorateur de serveur, faites un clic droit connexions de données, choisissez Ajouter, choisissez SQL Server, dans le nom du serveur type:
(localdb)\MSSQLLocalDB
Sans entrer un nom de base de données, cliquez sur "Tester la connexion".
Le correctif ne fonctionne pas.
Exactement comme dans l'exemple d'illustration, toutes ces étapes fournissent uniquement l'accès aux bases de données" système", et aucune option pour sélectionner les bases de données utilisateur existantes auxquelles vous souhaitez accéder.
La solution pour accéder à une instance Microsoft SQL server locale (et non Express Edition) réside du côté SQL Server:
- ouvrez la boîte de dialogue Exécuter (WinKey + R)
- Type: "des services.msc "
- Sélectionnez le navigateur SQL Server
- Cliquez Sur Propriétés
- Changement "désactivé" à "Manuel" ou "Automatique"
- lorsque le bouton de service" Démarrer " est activé, cliquez dessus.
Fait! Vous pouvez maintenant sélectionner votre serveur SQL local dans la liste des noms de serveur dans les propriétés de connexion.
Exécutez le CMD en tant qu'administrateur.
- dans le menu Démarrer 'cmd' - attendez qu'il le trouve.
- Faites un clic droit sur cmd et sélectionnez Ouvrir en tant qu'administrateur
- type: cd C:\Program fichiers \ Microsoft SQL Server \ 120 \ Tools \ Binn
- type : SqlLocalDB démarrer
- saisissez maintenant: SqlLocalDB info
- affiche les instances sql en cours d'exécution disponibles... choisissez ce que vous voulez...
-
Pour en savoir plus sur l'instance type: SqlLocalDB info instanceName
Maintenant de VS vous pouvez configurer votre connexion Dans VS View View / Explorateur de serveur / (clic droit) connexions de données / ajouter une connexion Source de données: Microsoft SQL Server (SqlClient) Nom du serveur: (localdb)\MSSQLLocalDB Connectez-vous au serveur: utilisez L'authentification Windows Appuyez sur "Test connexion", puis OK.
Le Travail terminé,
Le moyen le plus rapide dans Visual Studio 2017 est d'aller à outils -> SQL Server -> nouvelle requête.. Choisissez parmi les bases de données locales et choisissez le nom de base de données souhaité en bas.
Manière Alternative
Le nom du serveur Visual Studio 2017 est:
(localdb)\MSSQLLocalDB
Ajoutez la nouvelle connexion à l'aide du menu Outils - > connexion à la base de données...
J'ai suivi les étapes ci-dessus, mais j'ai oublié d'installer le SQL Server 2014 LocalDB avant la configuration Visual Studio 2015.
Mes étapes sont les suivantes:
- Installez le SQL Server 2014 LocalDB;
- Ouvrez Visual Studio 2015, puis Explorateur d'Objets SQL Server;
- Trouvez votre LocalDB sous la balise SQL Server.
J'espère que cela aidera quelqu'un.
Scénario: Windows 8.1, VS2013 Ultimate, SQL Express installé et en cours D'exécution, navigateur SQL Server désactivé. Cela a fonctionné pour moi:
- J'ai d'abord activé le navigateur SQL Server sous services.
- Dans Visual Studio: Ouvrez la Console du Gestionnaire de paquets, puis tapez: Enable-Migrations ; puis tapez Enable-Migrations-ContextTypeName YourContextDbName qui a créé le dossier Migrations dans VS.
- dans le dossier Migrations, vous trouverez "Configuration.fichier cs", activer les migrations automatiques par: AutomaticMigrationsEnabled = true;
- Exécutez à nouveau votre application, l'environnement crée une DefaultConnection et vous verrez les nouvelles tables à partir de votre contexte. Cette nouvelle connexion pointe vers le localdb. La chaîne de connexion créée affiche: Data Source=(LocalDb)\v11. 0 ... (plus de paramètres et chemin d'accès au fichier mdf créé)
Vous pouvez maintenant créer une nouvelle connexion avec Nom du serveur: (LocalDb)\v11.0 (cliquer sur "actualiser") Connexion à une base de données: Sélectionnez votre nouvelle base de données dans la liste déroulante.
J'espère que ça aide.