SQL Server 2000 に接続する .Net Framework v2 で開発された asp.net Web サイトがあります。SQL Server 2008 と共に .Net Framework v3.5 を搭載した新しいサーバーに移行しようとしています。データベースをバックアップし、新しいデータベース サーバーに復元しました。Web サイトを移動し、web.config を更新しました。しかし今、私はウェブサイトにログインできません。何が起こっているのかを確認するために sql プロファイラーを実行しました。これは、ログインしようとしたときに実行されるストアド プロシージャです。
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>