我有一个 asp.net 网站,它是在连接到 sql server 2000 的 .Net Framework v2 上开发的。我正在尝试将其迁移到一个新的服务器,该服务器上装有 .Net Framework v3.5 以及 sql server 2008。我备份了数据库并将其恢复到新的数据库服务器。我移动了网站并更新了 web.config。但是现在我无法登录该网站。我运行 sql profiler 来查看发生了什么,这是我尝试登录时运行的存储过程。
exec dbo.aspnet_Membership_GetPasswordWithFormat @ApplicationName=N'dev',
@UserName=N'AffiliateBob', @UpdateLastLoginActivityDate=1,
@CurrentTimeUtc='2009-10-26 20:43:23.7130000'
注意@CurrentTimeUtc 参数的格式。当我将它放入 sql management studio 并运行它时,我收到以下错误消息。
Msg 8114, Level 16, State 1, Procedure aspnet_Membership_GetPasswordWithFormat, Line 0
Error converting data type varchar to datetime.
这是我的 web.config 中的成员资格部分。
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="999"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="999"
passwordStrengthRegularExpression=""
applicationName="dev"/>
</providers>
</membership>