2012-02-17 8 views
0

VS 2008を使用してasp.netサイトを作成しました。メンバーシップのためにapp_dataにdbを使用していました。私はこれを新しいサーバーに移しており、dbはSQL Server 2008 R2インスタンスにアタッチされます。私はdb名を変更して、残りのサーバーとうまく適合するようにしたかったのです。 ASPNETDB.mdfからReporting.MDFに名前を変更したので、私はログインできず、ASP.NETにはユーザーがいないと言われています。私はVSでリネーム機能を使用し、私の接続文字列を更新しました。メンバーデータベースの名前が変更されました。ユーザーが見つかりません

<connectionStrings> 
    <add name="MembershipConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Reporting.MDF;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
<system.web> 
    <!--added to create new membership to connect to--> 
<roleManager enabled="true"> 
    <providers> 
    <clear/> 
    <add connectionStringName="MembershipConnectionString" applicationName="WebSite2" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken="/> 
    </providers> 
</roleManager> 
<membership defaultProvider="SqlMembershipProvider"> 
<providers> 
<clear/> 
<add connectionStringName="MembershipConnectionString" enablePasswordRetrieval="false" 
enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="WebSite2" 
requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" 
minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" 
passwordAttemptWindow="10" passwordStrengthRegularExpression="" 
name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" /> 
</providers> 
</membership> 

ユーザ:0 プロバイダ:dbをテストするためのテストは正常に動作します。

編集:何らかの形で私に縛られている場合は、publicKeyを削除しました。

編集:名前をaspnetdbに戻しても、まだ動作しません。

メンバーシップコードを削除すると、再び動作します。これは、名前をaspnetdbに戻した後です。私はどこから始めたのですか?

答えて

0

この問題は、machine.configを開いてすべてのメンバーシップの詳細をコピーすることで解決しました。その後、すべてのセクションで
クリア を使用しました。

<connectionStrings> 
<add name="LocalSqlServer2" connectionString="Data Source=Johnny;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
<system.web> 
    <!--added to create new membership to connect to--> 
    <membership> 
    <providers> 
     <clear/> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=" connectionStringName="LocalSqlServer2" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/> 
    </providers> 
    </membership> 
    <profile> 
    <providers> 
     <clear/> 
     <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer2" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken="/> 
    </providers> 
    </profile> 
    <roleManager> 
    <providers> 
     <clear/> 
     <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer2" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken="/> 
     <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken="/> 
    </providers> 
    </roleManager> 
0

まず、aspnetdbデータベースを接続してください。次に、SQL Management Studioを使用して名前を変更します。

2

この問題が再び発生した場合は、applicationName属性を正しく設定することを忘れたために発生している可能性があります。web.configです。ここにはgreat, detailed explanation of the common problemがあります。あなたは答えであなたのweb.configにご質問からweb.configファイルを比較する場合は、2つのファイルにapplicationName属性が異なる値を持っていることがわかります。 WebSite2/

+0

私はこれを親切なリソースとしてくれました。どうも。 – Primetime