Interfaces de Réseau SQL, erreur: 50 - Base de données Locales erreur d'Exécution s'est produite. Ne peut pas créer une instance automatique
j'essaie de construire un ASP.NET MVC 5 Web Application qui a un fichier MyDatabase.mdf
dans le dossier App_Data
. J'ai SQL Server 2014 Express installé avec une instance LocalDb
. Je peux éditer les tables de base de données en utilisant L'Explorateur de serveur, cependant quand je débogue l'application et vais à une page où la base de données est nécessaire je reçois l'erreur suivante.
une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'un connexion au serveur SQL. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour permettre les connexions à distance. (fournisseur de: Interfaces Réseau SQL, erreur: 50 - Base de données Locales erreur d'Exécution s'est produite. Impossible de créer automatiquement un exemple. Voir le journal des événements de L'Application Windows pour les détails d'erreur.
alors j'ai regardé dans le visualiseur D'événements sous Application
et je n'ai vu qu'un seul avertissement encore et encore encore.
le répertoire spécifié pour la mise en cache de contenu comprimé C:UsersUser1AppDataLocalTempiisexpressIIS fichiers compressés temporairesClr4IntegratedAppPool est invalide. La compression statique est désactivée.
donc j'ai essayé de redémarrer le serveur, toujours rien. Même erreur 50 qu'avant.
j'ai créé une classe de sous Models
où j'ai une classe appelée Post
.
namespace MyApplication.Models
{
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
public class MyDatabase : DbContext
{
public DbSet<Post> Posts { get; set; }
}
}
j'ai aussi un Controller
setup pour lister les messages de MyDatabase
.
namespace MyApplication.Controllers
{
public class PostsController : Controller
{
private MyDatabase db = new MyDatabase();
// GET: Posts
public ActionResult Index()
{
return View(db.Posts.ToList());
}
}
dans mon fichier web.config
la chaîne de connexion ressemble à ceci...
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDB)v12.0;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
j'ai essayé la suggestion posté ici mais ça n'a pas fonctionné. Aussi essayé ce .
je remarque aussi que L'instance MyDatabase est déconnectée après Je commence l'exécution de l'application. Si je rafraîchis la base de données en utilisant L'Explorateur de serveur dans Visual Studio je peux voir les tables.
comment se fait-il que je puisse me connecter à la base de données et l'éditer dans Visual Studio 2013, mais que je ne puisse pas me connecter à la base de données lorsque je corrige L'application?
11 réponses
changement de LocalDB: S'applique à SQL 2014 ; jetez un coup d'oeil à cet article et essayez d'utiliser (localdb)\mssqllocaldb
comme nom de serveur pour vous connecter à L'instance automatique de LocalDB, par exemple:
<connectionStrings>
<add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb;
...
l'article mentionne également l'utilisation de SSMS 2012 pour se connecter à la LocalDB 2014. Ce qui m'amène à croire que vous pourriez avoir plusieurs versions de SQL installé - ce qui m'amène à souligner cette SORTE de réponse cela suggère de changer le nom par défaut de votre "instance" LocalDB pour éviter d'autres problèmes d'inadéquation de version qui pourraient se poser à l'avenir; mentionné non pas comme source de problème, mais pour attirer l'attention sur les conflits potentiels que la version SQL multiple installée sur une seule machine de développement pourrait conduire ... et quelque chose pour obtenir de l'habitude, afin d'éviter certains.
autre chose à mentionner - si vous avez obtenu votre instance dans un état inutilisable en raison de bricolage avec elle pour essayer et corriger ce problème, alors il pourrait être utile de recommencer - désinstaller, réinstaller - puis essayer d'utiliser la valeur mssqllocaldb
au lieu de v12.0
et voir si cela corrige votre problème.
:
sqllocaldb create " v12.151910920"
de CMD prompt résolu pour moi...
je corrige habituellement cette erreur suite à ce msdn blog post en utilisant LocalDB avec plein IIS
cela nécessite l'édition de applicationHost.fichier de configuration qui est habituellement situé dans C:\Windows\System32\inetsrv\config. En suivant les instructions de la KB 2547655 nous devrions activer les deux drapeaux pour le Pool D'Application ASP.NET v4.0, comme ceci:
<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
Pour commencer - il y a 4 questions qui pourraient être à l'origine du commun LocalDb SqlExpress Sql Server erreurs de connectivité SQL Network Interfaces, error: 50 - Local Database Runtime error occurred
, avant de commencer à vous besoin de renommer la v11 ou v12 (localdb)\mssqllocaldb
- Vous n'avez pas la services en cours d'exécution
- Vous n'avez pas le firelwall ports here configuré
- votre installer A et émettre / corrompre (les étapes ci-dessous vous aident à donner un bon départ)
- Vous n'avez pas renommer la V11, ou de 12 à mssqllocaldb renommer le conn chaîne de
v12.0
àMSSQLLocalDB
-comme-><connectionStrings> <add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb; ...
j'ai trouvé que le le plus simple est de faire le ci - dessous-j'ai joint les pics et les étapes pour l'aide.
Vérifiez D'abord l'instance que vous avez installée, vous pouvez le faire par vérifier le registre et en exécutant cmd
-
cmd> Sqllocaldb.exe i
-
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
si cette étape échoue, vous pouvez supprimer avec l'optiond
cmd> Sqllocaldb.exe d "someDb " -
cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
-
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
Edit 1: chemin D'enregistrement pour toutes les versions Format générique pour traquer le registre
// SQL SERVER RECENT VERSIONS
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(instance-name)
// OLD SQL SERVER
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
// SQL SERVER 6.0 and above.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLExecutive
// SQL SERVER 7.0 and above
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServerAgent
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server 7
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServ65
peut-être que cette erreur est venue parce que ce version
du serveur Sql is not installed
connectionString="Data Source=(LocalDB)\v12.0;....
et vous n'avez pas à l'installer
le plus rapide est de le changer à n'importe quelle version installée que vous avez
dans mon cas je le change de v12.0
à MSSQLLocalDB
Instance peut être corrompue ou pas mis à jour correctement
Essayez ces commandes = >
c:>sqllocaldb stop MSSQLLocalDB
L'instance de LocalDB" MSSQLLocalDB " est arrêtée.
C:>sqllocaldb supprimer MSSQLLocalDB
Instance de LocalDB" MSSQLLocalDB " supprimée.
c:>sqllocaldb create MSSQLLocalDB
Instance de LocalDB" MSSQLLocalDB " créée avec la version 13.0.1601.5.
c:>sqllocaldb start MSSQLLocalDB
L'instance de LocalDB "MSSQLLocalDB" a commencé.
la Solution finale pour ce problème est ci-dessous:
-
tout d'abord, apporter des changements dans le fichier de configuration du serveur d'application. remplacer ci-dessous la chaîne setprofileenvironnement= "false" par setprofileenvironnement= "true "
-
dans votre chaîne de connexion à la base de données ajouter l'attribut suivant: Integrated Security = SSPI
j'ai rencontré le même problème. Ma solution était de changer
<parameter value="v12.0" />
de
<parameter value="mssqllocaldb" />
dans le "app.config de fichier".
veuillez noter ce que Tyler a dit
notez que si vous voulez éditer ce fichier, assurez-vous d'utiliser un éditeur de texte 64 bits comme le bloc-notes. Si vous utilisez un bloc de 32 bits comme le bloc-notes++, il éditera automatiquement une copie différente du fichier dans SysWOW64 à la place. Heures de ma vie Je ne reviendrai pas
dans mon cas, nous avions plusieurs projets dans une solution et nous avions sélectionné un projet de départ différent de celui de la console du gestionnaire de paquets lors de l'exécution de la commande" Update-Database " avec les premières Migrations de Code. Assurez-vous de sélectionner le bon démarrage du projet.
je résoudre problème ci-dessus en Appliquant la procédure ci-dessous
et après que vous avez fait ces changements, faites les changements suivants dans votre web.config
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v12.0;AttachDbFilename=|DataDirectory|\aspnet-Real-Time-Commenting-20170927122714.mdf;Initial Catalog=aspnet-Real-Time-Commenting-20170927122714;Integrated Security=true" providerName="System.Data.SqlClient" />