2009-06-20 10 views
1

Je viens dépêchera site Web ASP.NET à mon fournisseur d'hébergement, mais je continue à obtenir l'erreur suivante quand je tente de se connecter:problème avec ASP.NET fournisseur d'appartenances

SQLExpress database file auto-creation error: The connection string specifies a local Sql Server Express instance using a database location within the applications App_Data directory.

J'ai déjà configurer une base de données avec le schéma requis sur l'hôte, et je peux même me connecter via la base de données hôte à partir de ma machine de développement, mais pas sur le site hébergé lui-même. Ma configuration du fournisseur est la suivante:

<connectionStrings> 
    <add name="Membership" connectionString="data source=localhost;initial catalog=bkelly_aspnetdb;user id=withheld; password=withheld;" /> 
</connectionStrings> 
<system.web> 
    <membership defaultProvider="SqlMembershipProvider"> 
    <providers> 
     <clear/> 
     <add name="SqlMembershipProvider" 
      type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionStringName="Membership" 
... 

Je ne trouve rien au niveau du site qui suggère d'utiliser le App_Data DB, mais sûrement la directive devrait trier toute configuration du fournisseur de niveau de la machine?

+0

Pouvez-vous poster chaîne de connexion exacte que vous utilisez? –

+0

@s_ruchit, J'ai un peu mis à jour la chaîne de connexion, mais si vous pouvez me montrer où les gens publient leurs chaînes de connexion exactes sur le web, je vais vous donner une partie de l'argent que je gagne. ;-) – ProfK

+0

Utilisez-vous également un roleManager, et si oui, a-t-il le bon nom de chaîne de connexion spécifié? – Jacob

Répondre

1

pas à 100% à ce sujet, mais essayez d'ajouter

<clear/> 

... avant d'ajouter votre section connectionStrings:

<connectionStrings> 
    <clear/> 
    <add name="Membership" connectionString="data source=localhost;initial catalog=bkelly_aspnetdb;user id=withheld; password=withheld;" /> 
</connectionStrings> 
0

Le problème est peut-être le disque sur lequel le fichier est compressé. Cela produirait l'erreur que vous avez rencontrée

+0

@Stuart, quel fichier? J'essaye de me relier à une base de données de SQL Server, ainsi le fait que n'importe quel dossier soit impliqué est réellement la racine de mon problème. – ProfK

+0

Je ne suis pas certain que la compression est le problème, je voulais juste vous pointer dans la direction, de sorte que vous pouvez enquêter. Mais serveur SQL, les bases de données contenues dans sont des fichiers. Par exemple, dans SQL Express, le fichier de base de données est .mdf, le fichier journal est ..ldf – Stuart

0

Sous mono, vous devez remplacer le texte "SqlMembershipProvider" par quelque chose d'autre (à moins que ce soit autre chose) dans votre configuration. Je ne pense pas que votre hôte utilise mono, mais ça vaut le coup d'essayer.

Questions connexes