Erreur dans la mise à jour de la base de données de commande dans le premier code de la migration
Je suis en train de travailler sur le Bureau de l'application en WPF et la création de SqlRepository avec LocalDB pour stocker des données. Je suis en utilisant des outils suivants
- Visual Studio 2013 de la Communauté avec la mise à jour 2
- Entity Framework 6.1.2 pour le premier Code de la migration
J'ai créé locale de la base de données avec Microsoft SQL Server Fichier de Base de données (SqlClient) de configuration. Base de données créée avec succès et c'est en dessous de la chaîne de connexion récupérée à partir de Sql
Data Source=(LocalDB)\v11.0;Initial Catalog=D:\USERS\USERNAME\DOCUMENTS\TestDatabase\testdb.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False
Je suis en utilisant la même chaîne de connexion dans l'application.config. J'arrive à visualiser les objets de base de données dans SQL Server explorateur de Base de données dans Visual Studio. Mais lorsque vous exécutez la mise à jour de la base de données de commande dans le gestionnaire de package Nuget console, je suis d'erreur ci-dessous:
Une liée au réseau ou spécifique à l'instance erreur s'est produite lors
l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou
n'était pas accessible. Vérifiez que le nom de l'instance est correct et que
SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: SQL
Les Interfaces réseau, erreur: erreur de 26 recherche Serveur/Instance
Spécifié)
- ne devrait-elle pas être la Source de Données=(local)\v11.0 - ou - Data Source=.\v11.0
- Mon seul projet MVC sur la même machine avec la Source de Données=(localDB)\v11.0 est le travail. Cependant Entity Framework 5.0 est utilisé dans cette application. Ici, je suis en utilisant 6.1.2
- Avez-vous réussi à résoudre ce problème? Ayant le même problème 🙁
- Malheureusement pas. J'ai déplacé vers le Serveur de base de l'instance.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème et résolu quand j'ai changé le "projet de start-up" à partir d'un autre module pour le module contenant des références à tous les autres projets de la solution.
Cliquez-droit sur le module >> cliquez sur "Définir comme Projet de Démarrage"
Diego réponse est correcte.
Ce problème se produit lorsqu'il n'y a pas de chaîne de connexion dans le projet a comme projet de démarrage. Puis EF tente de se connecter à certains par défaut du moteur de base de données pour effectuer la mise à jour. Dans mon cas, il a essayé d'utiliser express, et pour quelque raison il ne pouvait pas se connecter. Et l'erreur a été levée.
Exécuter votre "mise à jour de la base de données" avec l'option "-Verbose". L'une des lignes, il montre ce qui projet de Démarrage est utilisé. Vérifiez votre chaîne de connexion dans ce projet, modifier le projet de démarrage de celui qui a chaîne de connexion approprié. Cela résout le problème.
Comme expliqué dans d'autres réponses, le problème vient généralement d'avoir le mauvais projet Initial dans le Gestionnaire de paquets de la Console.
Dans mon cas, la console était en ignorant la valeur que je choisi dans le Projet par Défaut dans la liste déroulante, et aussi le
-StartUpProjectName
paramètre, et de reproduire le mauvais comportement d'essayer de se connecter à une base de données de moteur, comme Mikk réponse décrit, dans mon cas, à l'aide d'un SqlExpress moteur.Mon problème a été causé par une mauvaise configuration de la solution: si votre solution a plusieurs projets et est destiné à être exécuté avec l'option de configuration "Plusieurs projets de démarrage", mais vous venez de télécharger à partir de votre code source du référentiel de contrôle, alors il est possible que la configuration par défaut de l'option "projet de démarrage Unique" est appliquée à la solution (cette configuration, la valeur n'est généralement pas enregistrés dans le contrôle de code source). Dans ce cas, le Gestionnaire de paquets de la Console ignore simplement le démarrage du projet sélectionné dans son combo et seulement s'applique par défaut de démarrage de projet de la solution, qui ne peut pas avoir une chaîne de connexion, comme indiqué dans Mikk de réponse.
Donc je l'ai corrigé en modifiant les propriétés de la solution:
Common properties
/Startup project
/SélectionnezMultiple startup projects
au lieu deSingle startup project
, et après que le Gestionnaire de paquets de la Console serait accepter le nom du Projet et mise à jour de la base de données.Essayez avec cette Connectionstring:
J'ai été en mesure de résoudre ce problème en ajout de paramètres pour la mise à jour de la base de données de commande:
Ce message d'erreur vous informe qu'il n'est pas possible de se connecter à
SQL Server
. Les raisons possibles et de leur élimination est décrit ci-dessous:1) de SQL Server n'est pas démarré. Départ de celui-ci va vous permettre de voir votre Serveur SQL server/instance dans le menu déroulant de la liste des Serveurs SQL.
Services.
par défaut il est EZPARTS5) et de vérifier son état, il doit être Démarré
(si il n'est pas démarré, puis faites un clic droit sur SQL Server et sélectionnez
Démarrer à partir du menu contextuel).
2) Pare-feu bloque le port 1433 (MSSQL port standard pour les connexions). Il peut être désactivé en suivant les étapes ci-dessous:
Services.
cliquez sur le service et sélectionnez Arrêter dans le menu contextuel).
Remarque: pour Plus d'informations sur ce qui peut être trouvé sur le site de Microsoft: Lien
3) protocole TCP/IP est désactivée pour MSSQL protocoles. Pour l'activer, voir les étapes ci-dessous:
Le gestionnaire.
Remarque: pour Plus d'informations sur ce qui peut être trouvé sur le site de Microsoft: Lien
4) assurez-vous que votre moteur de base de données est configuré pour accepter les connexions à distance (Si vous utilisez une base de données centralisée):
Cochez la case Autoriser les connexions à distance sur ce serveur.
le Nom de domaine.
5) Si vous utilisez une instance nommée de SQL Server, assurez-vous que vous utilisez le nom de l'instance dans vos chaînes de connexion. Généralement le format nécessaire pour spécifier le serveur de base de données est machinename\nom_instance.
6) assurez-vous que votre compte utilisateur a l'autorisation d'accès sur la base de données que vous avez utilisé lors de la connexion.
Alternative:
Si vous ne pouvez toujours pas obtenir une connexion, vous pouvez créer un compte SQL sur le serveur, un utilisateur SQL sur la base de données en question, et il suffit d'utiliser ce nom d'utilisateur/mot de passe de connexion de données pour se connecter à SQL Server.
Renvoyée à partir de cette lien
J'ai résolu cette erreur en changeant le projet initial de l'Entité de Projet.
Look:
Mise À Jour De La Base De Données -Verbose
À l'aide de Démarrage du projet " SCVE.Web". <-- ir erreur
À l'aide de NuGet projet " SCVE.EntityFramework'.
Si vous essayez de vous connecter à Sql Server au lieu de localdb alors assurez-vous que la connexion par défaut d'usine dans le web.fichier de config est comme ci-dessous:
J'ai eu ce même problème avec un fraîchement créé ASP.NET projet.
J'ai d'abord essayé de définir le projet de démarrage comme mentionné ci-dessus. Il n'y a pas de projet de démarrage sélectionnée et j'ai été incapable d'en sélectionner un.
En fin de compte j'ai mis à jour mon Visual Studio à partir de 2015 mise à Jour de 1 à 2015 mise à Jour 3 et
exécutée sans problèmes.