2009-11-17 5 views
3

J'ai acheté un compte d'hébergement partagé Windows sur godaddy fourni avec 2 bases de données MSSQL. J'en ai installé un pour contenir les données de mon site et l'autre schéma d'adhésion aspnet installé pour stocker les membres du site. Le site fonctionne parfaitement même en affichant les données de la première base de données. Cependant, lorsque je tente de vous connecter ou vous inscrire j'obtenir cette erreur méchanteGodaddy base de données d'adhésion ASP.NET malheurs

Exception Détails: System.Configuration.Provider.ProviderException: Le fournisseur SSE n'a pas trouvé le fichier de base de données spécifié dans la chaîne de connexion . Au niveau de confiance configuré (en dessous du niveau de confiance élevé), le fournisseur SSE ne peut pas créer automatiquement le fichier de base de données .

Je suis passé par mon web.config et il n'y a rien de mal avec mes 2 chaînes de connexion. Il semble que Godaddy a un problème avec l'utilisation simultanée de 2 bases de données mssql lorsque 1 est membre.

Est-ce que quelqu'un connaît une solution ou une solution de contournement?

+1

J'ai finalement trouvé une solution (MERCI DIEU!) - Après 2 jours de googling j'ai compris! --Godaddy n'autorise pas les rôles sauf si vous utilisez "LocalSqlServer" comme chaîne de connexion au fournisseur d'appartenance - voici les modifications que j'ai apportées à mon web.config - (1) changé la chaîne conn du fournisseur aspnetmem en "LocalSqlServer" (2) créé la chaîne de connexion "LocalSqlServer" ... mais n'oubliez pas de la supprimer d'abord ie ... puis

Répondre

11

J'espère que mon expérience profite à tous. Fondamentalement, si vous voulez éviter les problèmes d'adhésion aspnet sur godaddy, utilisez toujours "LocalSqlServer" comme chaîne de connexion. i.e.

<providers> 
    <remove name="AspNetSqlMembershipProvider" /> 
    <add name="AspNetSqlMembershipProvider" connectionStringName="LocalSqlServer" 
     ..other attributes here... /> 
</providers> 

Ensuite, créez le connectionString "LocalSqlServer" ... Rappelez-vous de l'enlever d'abord

<connectionStrings> 
    <remove name="LocalSqlServer"/> 
    <add name="LocalSqlServer" 
     connectionString="Data Source=xxxx; Initial Catalog=xxx; User ID=xxx; Password=xxx;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+0

Salut, un million grâce à vous pour cette solution. J'allais dormir après m'avoir gratté la tête, puis googlé et ensuite obtenu votre réponse. – pokrate

+0

Encore un million de mercis pour cette solution. –

+0

incroyable ... vous pourriez penser godaddy ferait un commentaire de cela dans la section base de données sql. Pourquoi diable forceraient-ils le nom LocalSqlServer? – Induster

1

j'ai rencontré même problème et je suis en utilisant MVC3. La solution ci-dessus fonctionne mais avec quelques autres changements dans MVC3. Il m'a fallu beaucoup de temps pour le comprendre si quelqu'un a la même question en MVC3 il pourrait les aider:

Chercher « connectionStringName » dans web.config et remplacer le nom avec connectionStringName="LocalSqlServer"

également sous connectionStrings assurez-vous

-ajouter (Comme cela est important pour tous ceux qui utilisent l'hébergement mutualisé, il remplacera machine.config LocalSqlServer connectionstring avec le vôtre.) -Garder votre connectionstring actuelle (Dans mon cas, il est FilmiDb, cela est nécessaire pour vous pour se connecter à la base de données dans le modèle EF. Sans cela, vous obtiendrez des erreurs.)

<connectionStrings> 
    <remove name ="LocalSqlServer"/> 
    <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Initial Catalog=SofilmiDb;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> 
    <add name="FilmiDb" connectionString="Data Source=.\SQLExpress;Initial Catalog=FilmiDb;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> 
    </connectionStrings>