Comment corriger le "nom de connexion 'LocalSqlServer' n'a pas été trouvé dans la configuration des applications ou la chaîne de connexion est vide."erreur?
j'ai un ASP.NET projet utilisant SQL Server CE 4.0 avec Entity Framework 4.0. Ça marche très bien sur mon ordinateur local.
quand je le déplace sur le serveur distant et que j'essaie de me connecter à la partie admin du programme, j'obtiens l'erreur suivante:
The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.
Il fait référence à la ligne suivante dans la machine.config sur le serveur distant:
Line 237: <membership>
Line 238: <providers>
Line 239: <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
Line 240: </providers>
Line 241: </membership>
maintenant, il est vrai que je n'ai pas de "Aspnetsqlmembershippprovider" sur mon web.config renvoie une chaîne de connexion appelée "LocalSqlServer". Au lieu de cela, j'ai ce qui suit:
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider" connectionStringName="PUGConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
Cela fonctionne localement. Le nom de la chaîne de connexion est PUGConnection, pas LocalSqlServer.
pourquoi cela fonctionnerait-il localement, et pas à distance? (Le serveur distant est un serveur partagé, -- je n'ai pas accès à la machine.config.)
si je change le nom de la chaîne de connexion en LocalSqlServer, cela fonctionnera-t-il? Et si oui, pourquoi ça marcherait l'autre manière sur mon ordinateur local? Machine.config sur mon ordinateur local ressemble à celui du serveur distant, autant que je puisse dire.
2 réponses
Vous devez le supprimer de votre config:
<remove name="AspNetSqlMembershipProvider" />
Ou, mieux encore,
<clear />
Vous pouvez aussi essayer d'ajouter la chaîne de connexion à votre fichier de configuration. Même s'il n'est pas utilisé, il devrait corriger les erreurs qui apparaissent en le référençant ailleurs dans la configuration.
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
C'est généralement entre appSettings
et system.data
balises.