2009-03-17 7 views
1

Je souhaite utiliser des profils et j'ai pu utiliser aspent_regsql -A p pour installer les tables. Je peux les voir dans tout le studio de gestion SQL. J'utilise en fait SQLExpress 2005, et mon dbo.aspnet_SchemaVersions est rempli. Est-ce que quelqu'un sait ce qui pourrait mal tourner? Au fait, je suis sûr que ma chaîne de connexion et mon code d'application sont corrects. Merci d'avance.'System.Web.Security.SqlMembershipProvider' nécessite un schéma de base de données compatible avec la version de schéma '1'

<system.web> 
<membership> 

    <providers> 

    <remove name="AspNetSqlMembershipProvider" /> 

    <add name="AspNetSqlMembershipProvider" 

     type="System.Web.Security.SqlMembershipProvider, 

     System.Web, Version=2.0.0.0, Culture=neutral,         

     PublicKeyToken=b03f5f7f11d50a3a" 

     connectionStringName="RGConnectionString" /> 

    </providers> 

</membership> 
<profile> 
    <providers> 
    <add name="ProfileProvider" type="System.Web.Security.SqlProfileProvider, 

     System.Web, Version=2.0.0.0, Culture=neutral,         

     PublicKeyToken=b03f5f7f11d50a3a" 

     connectionStringName="RGConnectionString"/> 
    </providers> 
+0

Vérifiez ce lien http://stackoverflow.com/questions/3292794/the-system-web-security-sqlmembershipprovider-requires-a-database-schema-compa –

Répondre

5

Eh bien, fou de moi. J'étais tout à fait sûr que c'était un problème avec la base de données SQLExpress mais c'était en fait mon fichier web.config qui était totalement bizarre. Je l'ai à travailler en ajoutant les bonnes propriétés aux fournisseurs:

<connectionStrings> 
    <add name="RGConnectionString" 
     connectionString="Data Source=(local)\SQLExpress;Initial Catalog=aspnetdb;Integrated Security=true" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

    <system.web> 

    <membership> 
     <providers> 
     <remove name="AspNetSqlMembershipProvider" /> 
     <add name="AspNetSqlMembershipProvider" 
      type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionStringName="RGConnectionString" 
      enablePasswordRetrieval="true" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="true" 
      requiresUniqueEmail="true" 
      passwordFormat="Clear" 
      maxInvalidPasswordAttempts="5" 
      minRequiredPasswordLength="8" 
      minRequiredNonalphanumericCharacters="0" 
      passwordAttemptWindow="10" 
      passwordStrengthRegularExpression="" 
      applicationName="/" /> 
     </providers> 
    </membership> 

    <profile> 
     <providers> 
     <add name="ProfileProvider" 
      type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionStringName="RGConnectionString" 
      applicationName="/" /> 
     </providers> 
    </profile> 

    </system.web> 
3

Cela peut se produire si vous créez un script votre base de données et non la table peuplent [aspnet_SchemaVersions]. Cette table contient des informations sur le schéma de la table des membres. Si cette table est vide, vous verrez une erreur à propos de la version de l'abonnement.

Questions connexes