Je ne peux pas croire que je ne pouvais pas trouver une solution de travail après une heure de recherche. Je suis cet article sur Entity Framework 6.0, qui donne un aperçu du code d'abord. J'ai créé le projet et installé le dernier package EF Nuget pour le projet à compiler. J'ai également vérifié que Microsoft SQL Server 2012 Express LocalDB était fourni avec Visual Studio 2013. Aucune autre instance de SQL n'est installée 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érifie ta localdb", il ne dit pas comment! Je ne vois aucun fichier '.mdf' ou '.ldf' créé dans le dossier du projet. J'ai essayé tous les moyens pour connecter l'Explorateur de serveurs de Visual Studio à LocalDB. L'assistant ne peut pas localiser (localdb)
ni aucun fournisseur dans l'Explorateur de serveurs pour accepter une chaîne de connexion telle que (localdb)\v11.0;Integrated Security=true;
J'ai vu cette demande posée à plusieurs endroits dans StackOverflow mais aucune réponse ne fonctionne ou n'a été 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?
OK, répondant à ma propre question.
Étapes pour connecter LocalDB à Visual Studio Server Explorer
SqlLocalDB.exe start v11.0
SqlLocalDB.exe info v11.0
(localdb)\v11.0
. Si cela ne fonctionne pas, utilisez le nom du canal d'instance que vous avez précédemment copié. Vous pouvez également l'utiliser pour vous connecter à SQL Management Studio.Dans Visual Studio 2012 tout ce que je devais faire était d'entrer:
(localdb)\v11.0
Visual Studio 2015 et Visual Studio 2017 changé en:
(localdb)\MSSQLLocalDB
en tant que nom de serveur lors de l'ajout d'une source Microsoft SQL Server Data
dans:
View/Server Explorer/(Right click) Data Connections/Add Connection
et puis les noms de base de données ont été remplis. Je n'ai pas eu 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 des noms de serveurs.
Vous pouvez également parcourir les noms de base de données LocalDB disponibles sur votre ordinateur en utilisant:
View/SQL Server Object Explorer.
Sélectionner dans:
Microsoft SQL Server (SqlClient)
(localdb)\MSSQLLocalDB
Use Windows Authentication
Appuyez sur le bouton Actualiser pour obtenir le nom de la base de données :)
Contrairement aux autres réponses, cette approche utilise:
- Pas de commandes spéciales.
- Pas de configurations compliquées.
Il suffit d’utiliser l’explorateur d’objets de SQL Server
C'est assez simple ...
{YourTableName}
>> View Designer Terminé.
Cela a fonctionné pour moi.
Ce qui suit fonctionne avec Visual Studio 2017 Community Edition sous Windows 10 à l'aide de SQLServer Express 2016.
Ouvrez un PowerShell pour vérifier comment il s'appelle en utilisant SqlLocalDB.exe info
et s'il est en cours d'exécution avec SqlLocalDB.exe info NAME
. Voici à quoi cela 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 lancé, vous voyez le Instance pipe name:
qui commence par np:\\
. Copiez cette chaîne de caractères nommée. Dans VS2017, ouvrez la vue Server Explorer
et créez une nouvelle connexion de type Microsoft SQL Server (SqlClient)
(ne vous laissez pas berner par les autres types de fichiers pour lesquels vous souhaitez utiliser le type de connexion Fat Fat) et définissez le paramètre Server name:
sur soit le nom du canal d'instance que vous avez copié à partir de PowerShell.
J'ai également défini le Connect to database
pour qu'il corresponde à la chaîne de connexion utilisée dans mon projet Dotnet Core/Entity Framework Core, qui a été configuré à l'aide de dotnet ef database update
.
Vous pouvez vous connecter et créer une base de données à l'aide de sqlcmd
et de la chaîne de caractères nommée:
sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO
Vous trouverez des instructions sur la création d’un utilisateur pour votre application à l’adresse https://docs.Microsoft.com/en-us/sql/tools/sqllocaldb-utility
Visual Studio 2015 RC, LocalDb 12 installé, instructions similaires à celles d’avant, mais ne devant toujours pas connaître la "magie"; avant de pouvoir utiliser cette instance, l’instance par défaut aurait dû être activée ... Rant complet, pas de solution :
cmd> sqllocaldb start
Qui affichera
LocalDB instance "MSSQLLocalDB" started.
Votre nom instance peut différer. Dans tous les cas, accédez à VS et ouvrez l'Explorateur de serveurs, cliquez avec le bouton droit de la souris sur Connexions de données, choisissez Ajouter, choisissez SQL Server, dans le type de nom de serveur:
(localdb)\MSSQLLocalDB
Sans entrer de nom de base de données, cliquez sur "Tester la connexion".
Fix ne fonctionne pas.
Exactement comme dans l'illustration, toutes ces étapes fournissent uniquement un accès aux bases de données "système" et aucune option permettant de sélectionner les bases de données utilisateur existantes auxquelles vous souhaitez accéder.
La solution pour accéder à une instance de serveur Microsoft SQL locale (et non Express Edition) réside du côté de SQL Server:
Terminé! Vous pouvez maintenant sélectionner votre serveur SQL local dans la liste Nom du serveur dans les propriétés de connexion.
Exécutez le CMD en tant qu'administrateur.
pour en savoir plus sur le type d'instance: SqlLocalDB info instanceName
maintenant, depuis VS, vous pouvez configurer votre connexion. Dans VS , View/Explorateur de serveurs/(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 Windows Authentification Appuyez sur "Tester la connexion", puis sur OK.
travail accompli
Le moyen le plus rapide dans Visual Studio 2017 consiste à accéder à Outils -> SQL Server -> Nouvelle requête .. Choisissez parmi les bases de données locales et choisissez le nom de la base de données souhaité en bas.
Manière alternative
Le nom du serveur Visual Studio 2017 est:
(localdb)\MSSQLLocalDB
Ajoutez la nouvelle connexion en utilisant le menu Outils -> Se connecter à la base de données ...
J'ai suivi les étapes ci-dessus, mais j'ai oublié d'installer SQLDOC 2014 LocalDB avant la configuration de Visual Studio 2015.
Mes étapes sont les suivantes:
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:
Vous pouvez maintenant créer une nouvelle connexion avec le nom du serveur: (LocalDb)\v11.0 (actualiser). Se connecter à une base de données: sélectionnez votre nouvelle base de données dans la liste déroulante.
J'espère que ça aide.