我为我的aspnet数据库生成了一个脚本,现在当我尝试使用该数据库时,它会出现一个错误
“System.Web.Security.SqlMembershipProvider”需要一个与模式版本“1”兼容的数据库模式。但是,当前数据库架构与此版本不兼容。您可能需要安装与aspnet_regsql.exe兼容的模式(在框架安装目录中可用),或者将提供程序升级到更新的版本。
我到底有什么办法来解决这个问题呢?我是否需要运行aspnet_regsql.exe,或者除了必须按照错误的建议使用这个选项之外,还有什么方法可以避免这个错误呢?
我的web.config文件如下所示:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<membership defaultProvider="SqlProvider">
<providers>
<clear/>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="CPMS_DB"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="3"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="3"
applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="ApplicationServices"
applicationName="/"/>
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="ApplicationServices"
applicationName="/"
name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/"
name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>发布于 2013-10-11 20:54:53
我将使用aspnet_regsql.exe创建一个新的/空白数据库。
然后你可以用这个:
http://granadacoder.wordpress.com/2007/11/29/membershipprovider-helper-to-transfer-data/
它将“创建tsql代码”,以便您可以将所有数据移动到空白数据库中。
发布于 2021-01-07 15:48:05
我也有类似的错误,简单的解决方案,比如关闭项目,重新打开,重建,解决错误。如果你确定你做得对
https://stackoverflow.com/questions/19326939
复制相似问题