Je vais faire la démonstration d’un site Web ASP.NET MVC sur un réseau local. Cette application a une connexion à une firebase database:
J’aimerais que cette firebase database puisse être utilisée à la fois par IIS et chaque fois que j’exécute mon application localement. J’ai créé un site sur IIS. Il exécute .NET v4. Mon projet réside dans c:\inetpub\www\ebc
. Je peux publier le site Web mais recevoir cette erreur en consultant la page:
“Une erreur liée au réseau ou spécifique à une instance s’est produite lors de l’établissement d’une connexion à SQL Server. Le serveur était introuvable ou inaccessible. Vérifiez que le nom de l’instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (Fournisseur: Interfaces réseau SQL, erreur: 50 – Une erreur d’exécution de la firebase database locale s’est produite. Une erreur inattendue s’est produite à l’intérieur d’un appel de méthode d’API d’instance LocalDB. Consultez le journal des événements de l’application Windows pour plus de détails sur l’erreur. ”
Je sais que je dois autoriser les connexions distantes au serveur SQL via Microsoft SQL Server Manager? Y a-t-il un moyen de le faire ailleurs?
La meilleure solution consiste à utiliser l’expression SQL, mais si vous ne le souhaitez pas, vous devez suivre quelques étapes pour que votre application mvc fonctionne avec localdb.
sqllocaldb share v11.0 IIS_DB
(la firebase database sera alors partagée et IIS peut y accéder) Data Source=(LocalDb)\.\IIS_DB
puis publiez à nouveau Notez qu’à ce stade, vous pouvez recevoir une erreur d’access refusé et qu’il existe un moyen de la résoudre.
Pour le nom du serveur, entrez (LocalDb)\.\IIS_DB
puis cliquez avec le bouton droit de la souris sur la connexion, choisissez une nouvelle requête et exécutez cette commande.
create login [IIS APPPool\DefaultAPPPool] from windows; exec sp_addsrvrolemember N'IIS APPPool\DefaultAPPPool, sysadmin
Lorsque plusieurs versions de SQL Server localDB sont installées sur un ordinateur, cette erreur est très courante.
Essayez d’utiliser (localdb)\mssqllocaldb
comme nom de serveur commun pour vous connecter à l’instance automatique LocalDB au lieu de “v11.0” ou “v12.0”.
L’instance localedb automatique ci-dessus, a un nom par défaut pour toute la version et évite les conflits entre nom et version.
Important : lors de la mise à jour de la firebase database locale vers une nouvelle version, n’oubliez pas que la firebase database créée avec une version plus ancienne ne fonctionne pas avec la nouvelle.
Voir cet article: Ces deux articles sur l’utilisation de LocalDB avec Full IIS devraient vous donner plus d’informations. En particulier, la deuxième partie semble pertinente, mais la première contient également un certain contexte.
Crédit: IIS se connectant à LocalDB