2011-02-15 84 views
3

我在我的项目的App_Data文件夹中有ASPNETDB.MDF数据库。尝试为文件<FILE>附加自动命名的数据库失败。存在同名数据库

我得到一个错误,当我尝试添加一个用户:

MembershipUser user = Membership.CreateUser(viewModel.Username, viewModel.Password, viewModel.Contact.Email, 
              viewModel.SecurityQuestion, viewModel.SecurityAnswer, true, out createStatus); 

的错误是:

试图附加的文件C自动命名的数据库:\用户\ Steven \ documents \ visual studio 2010 \ Projects \ MyApp \ MyApp.WebUI \ App_Data \ ASPNETDB.MDF失败。具有相同名称的数据库存在,或指定的文件无法打开,或位于UNC共享上。

我web.config中有此连接字符串和会员信息:

<connectionStrings> 
    <add name="ASPNETDB" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

<membership> 
    <providers> 
    <clear /> 
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ASPNETDB" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
    </providers> 
</membership> 
<profile> 
    <providers> 
    <clear /> 
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ASPNETDB" applicationName="/" /> 
    </providers> 
</profile> 
<roleManager enabled="true"> 
    <providers> 
    <clear /> 
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ASPNETDB" applicationName="/" /> 
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" /> 
    </providers> 
</roleManager> 

我有一种感觉,我的连接字符串是错误的,但我真的不知道。

+0

我做了一切从本指南http://support.microsoft.com/kb/2002980,但没有机会,并最终将其附加到服务器 – 2011-12-08 17:03:59

回答

1

对于初学者,请给这个连接字符串尝试一下吗?

<connectionStrings> 
    <add name="ASPNETDB" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

我也很好奇,想知道你可以从你的应用程序在所有访问数据库。从你的错误,我会不承认。

1
  • 虽然目录的权限,创建新用户 “网络服务”,并配置权限

  • 更换|数据目录|到“C:\ inetpub \ wwroot ...”

它是成功的。

0

将IIS管理器中的站点的应用程序池更新到ASP.NET v4.0为我解决了这个问题。

+0

我怀疑他是与他的项目的路径使用IIS。 – RickAndMSFT 2012-10-21 04:54:49

1

以管理员身份运行VisualStudio解决了开发过程中的这个问题。

+0

这在我的情况下不是这样.. – Sti 2013-11-16 22:15:11

相关问题