1

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>
4

3 に答える 3

1

これが問題であることが判明しましたweb.config。新しいクリーンweb.configファイルを作成し、古いweb.config.

于 2009-10-27T16:14:24.813 に答える
0

日付を 2009-10-10 に変更しても問題ありませんか? その場合、言語/ロケールに問題があります。ASP.NET は日付パラメーターを MM/DD で送信しており、SQL Server は DD/MM を予期しているか、またはその逆です。ASP.NET と SQL Server ログインのこの設定を確認してください。

于 2009-10-27T00:53:33.973 に答える
0

これは場合によっては最善の解決策ではないかもしれませんが、これで私の問題は解決しました:

http://forums.asp.net/t/1398826.aspx/1

私は当初、Membership Provider ストアド プロシージャを掘り下げて、すべての DateTime を DateTime2 に移行しようと試みましたが、ワームの缶が開くことは想像できると思います。いずれにせよ、DateTime 変換の問題は知っておくとよい問題です。

于 2012-03-01T22:05:19.647 に答える