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?

65
demandé sur Jonathan Kittell 2014-10-08 06:26:59

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.

113
répondu Bret 2017-05-23 11:47:32

:

sqllocaldb create " v12.151910920"

de CMD prompt résolu pour moi...

33
répondu Alex 2014-12-17 10:49:34

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>
27
répondu Matteo 2015-09-04 13:52:31

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

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

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" si cette étape échoue, vous pouvez supprimer avec l'option d cmd> Sqllocaldb.exe d "someDb "
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

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
15
répondu transformer 2018-07-21 15:12:56

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

7
répondu Basheer AL-MOMANI 2016-06-09 11:21:47

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é.

4
répondu Musab 2017-07-20 10:57:30

la Solution finale pour ce problème est ci-dessous:

  1. 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 "

  2. dans votre chaîne de connexion à la base de données ajouter l'attribut suivant: Integrated Security = SSPI

3
répondu Dalip Choudhary 2016-04-19 09:48:15

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".

3
répondu Kos 2016-05-21 13:04:28

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

3
répondu 130nk3r5 2016-07-28 10:34:08

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.

2
répondu Michael Staples 2018-03-08 16:18:36

je résoudre problème ci-dessus en Appliquant la procédure ci-dessous

enter image description here

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" />
0
répondu Sagar Shinde 2018-09-24 08:57:53