3 votes

Azure - WebAPI incapable de se connecter à Azure DB, Erreur : Le système ne peut pas trouver le fichier spécifié [SqlException].

J'ai une application, divisée en trois sections qui sont toutes hébergées sur Azure :
(1) Application client (HTML5, CSS3, JS),
(2) API Web,
(3) Instance de base de données SQL Server.

Tout cela fonctionne sur localhost, après avoir activé l'IP du client dans les paramètres du pare-feu de la base de données sur Azure. Cependant, lors du déploiement de l'application, j'obtiens l'erreur suivante de l'API Web :

[Win32Exception] : Le système ne peut pas trouver le fichier spécifié [SqlException] : Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de 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 Network Interfaces, erreur : 52 - Impossible de localiser une installation de Local Database Runtime. Vérifiez que SQL Server Express est correctement installé et que la fonction Local Database Runtime est activée).

J'ai essayé de vérifier les paramètres du pare-feu sur Azure, et j'ai l'option "Allow access to Azure Services" qui, je suppose, signifie que le service WebAPI devrait avoir accès à la base de données.

Firewall Access

Je viens de me connecter avec succès via SQL Server Management Studio avec les mêmes informations d'identification dans le web.config également.

Y a-t-il autre chose que je devrais vérifier ?

2voto

Win Points 16724

Puisque vous utilisez ASP.Net Identity et que vous avez une base de données dans App_Data, vous devrez également créer cette base de données dans SQL Azure.

Vous ne pouvez pas utiliser LocalDb (ceux situés dans le dossier App_Data) dans Azure. Normalement, LocalDb est réservé au développement.

FYI : Dans ASP.Net Identity, s'il vous arrive d'avoir un nom de chaîne de connexion différent de celui de la chaîne de connexion DefaultConnection vous devrez également le renommer.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X