Je ne comprends pas comment faire apparaître LocalDB dans l'Explorateur d'objets SQL Server. Sur certaines machines virtuelles, il apparaît automatiquement, sur d'autres, il n'en est rien. Malgré tout, après avoir passé des heures à googler, je ne comprends pas.
L'erreur dit:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.) ---> System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
Ainsi, sur cette machine virtuelle, aucune base de données n'est créée et rien ne s'affiche dans le nœud SQL Server
de l'explorateur d'objets SQL Server.
C:\Users\<username>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
; mais sur cette machine virtuelle, il n'y a pas un tel dossierApp.config
ressemblait chaque fois à ceci (et il a été créé automatiquement de cette façon lorsque j'ai installé Entity Framework 6, le gestionnaire de packages NuGet dans Visual Studio):<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
SQLException
J'ai eu le même problème aujourd'hui en installant récemment VS2015 Community Edition Update 1.
J'ai résolu le problème en ajoutant simplement les "Outils de données SQL Server" du programme d'installation de VS2015 ... Lorsque j'ai exécuté le programme d'installation la première fois, j'ai sélectionné le type d'installation "Personnalisé" au lieu de "Par défaut". Je voulais voir quelles options d'installation étaient disponibles mais ne rien sélectionner de différent de ce qui était déjà coché. Mon hypothèse était que ce qui était déjà coché était essentiellement l'installation par défaut. Mais ce n'est pas.
Pour vérifier si LocalDb est installé ou non:
(localdb)\V11.0
en utilisant l'authentification Windows.Si une erreur est générée, Cannot connect to (localdb)\V11.0.
change le nom de l'instance en (localdb)\MSSQLLocalDB
et essayez à nouveau de vous connecter, si vous obtenez toujours la même erreur.
Suivez ces étapes pour installer LocalDb:
Start Menu
et tapez search sqlLocalDb
.sqlLocalDb.msi
et cliquez dessus.une fois l'installation terminée, relancez SSMS
et essayez de vous connecter à l'une des instances (localdb)\V11.0
ou (localdb)\MSSQLLocalDB
. L'une d'elles devrait fonctionner en fonction de la version de Visual Studio que vous possédez.
Vous pouvez également vérifier que localdb
est installé à l'aide de Visual Studio en créant simplement un nouveau fichier SQL et en cliquant sur l'icône de connexion située dans l'en-tête supérieur du fichier. Cette liste répertorie par défaut tous les serveurs auxquels vous pouvez vous connecter, y compris localdb
si elle est installée.
Outre les méthodes mentionnées ci-dessus pour savoir si localdb est installé, vous pouvez également utiliser le MS windows power Shell
ou windows command processor CMD
ou même le NuGet package manager console
sur votre ordinateur serveur et exécuter ces commandes sqllocaldb i
et sqllocaldb v
qui vous indiqueront le nom du localdb s'il est installé et le MSSQL. version du serveur installée et en cours d'exécution sur votre machine.
Si vous ne savez pas si la base de données locale est installée, ni quel nom de base de données utiliser pour vous y connecter, essayez d'exécuter la commande 'sqllocaldb info' - elle vous indiquera les bases de données localesdb existantes.
Pour autant que je sache, la base de données locale devrait être installée avec Visual Studio 2015. Mais ce n’est probablement pas une fonctionnalité requise, et en cas de problème ou si elle ne peut pas être installée pour une raison quelconque - l’installation de Visual Studio continue toujours (remarque: juste ma conjecture). Donc, pour être sûr, ne vous fiez pas, il sera toujours installé avec VS.
Sélectionnez votre base de données et prêt à partir.
J'ai essayé d'installer uniquement LocalDB, ce qui a été omis dans mon installation de VS 2015. Suivi sous l'URL et télécharger de manière sélective le programme d'installation de LocalDB (2012), qui ne fait que 33 Mo en taille :)
https://www.Microsoft.com/en-us/download/details.aspx?id=29062
Si vous recherchez l'intégration de SQL Server Data Tool pour Visual Studio 2015, veuillez le télécharger à partir de:
Sur votre commande, tapez sqllocaldb start
Utilisez <add name="defaultconnection" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=tododb;Integrated Security=True" providerName="System.Data.SqlClient" />
My App.config looks as below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.Microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
J'ai remarqué qu'il y a localDB dans le chemin que vous avez mentionné ci-dessus et que la version v11.0 . Est entrée dans le dialogue Ajouter une connexion (LocalDB\V11.0) et cela a fonctionné pour moi.