mise à jour de la base de données: “Un réseau ou spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server”
J'ai un simple projet C#. C'est ma chaîne de connexion dans mon web.config
pour la base de données:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=172.17.0.47;Initial Catalog=DevSystemListe;User ID=web_access;Password=123456"
providerName="System.Data.SqlClient" />
</connectionStrings>
Je l'ai déjà fait en sorte que cette connexion fonctionne. Je peux me connecter à ma base de données de Visual Studio avec cette connexion et je peux aussi voir les tables et les données.
Lorsque je veux mettre à jour ma base de données avec update-database
, cette erreur se produit:
Une liée au réseau ou spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server. 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 autoriser les connexions à distance. (fournisseur de: Interfaces Réseau SQL, erreur: erreur de 26 recherche Serveur/de l'Instance Spécifiée)
J'ai désinstallé Entity Framework, puis installé de nouveau. Rien n'a changé.
- Le serveur SQL est contraignant pour le port par défaut (1433)?
- Oui, il est.
- Quel est le nom de la chaîne de connexion que vous avez passé au
DbContext
constructeur de la classe ? - le même que le nom de la chaîne de connexion.
Vous devez vous connecter pour publier un commentaire.
J'ai enfin découvert. J'ai un projet de site web et mon API dans ma solution. Le problème est que le site me définir comme projet de démarrage. De sorte que entity framework cherché dans la chaîne de connexion dans le site web du
web.config
et pas dans l'api deweb.config
. Modification du projet de démarrage de mon API résolu le problème.Si vous voulez avoir le projet de site web comme projet de démarrage. Il suffit de copier la chaîne de connexion dans le websides
web.config
.Néanmoins merci pour chacuns de l'aide.
Vous dire que vous pouvez utiliser cette chaîne de connexion pour voir de données & tables... vous pouvez aussi utiliser cette connexion pour insérer de nouveaux records ?
Pour chaque utilisateur, SQL Server vous permet de définir si elles ont un accès en lecture et/ou l'accès en écriture. Peut-être que votre utilisateur est manque juste la
db_datawriter
autorisation...?Si l'application est en cours d'exécution en vertu de l'IIS complet, alors il y a une configuration de IIS nécessaires pour s'assurer que le localDB instance peut être utilisé dans l'application. Voir https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/