2010-05-06 87 views
0

我正在使用SQL Server 2008 Enterprise与VSTS 2008,并且我正在开发一个简单的Web应用程序使用ASP.Net和窗体身份验证。奇怪的SQL Server附加数据库错误

当我用我的ASP.Net项目(我想用这个工具来手动添加一些Forms身份验证的用户),我遇到了以下错误(SQLEXCEPTION)的VSTS的配置工具/菜单,

Trying to attach file D:\Projects\MyTest\App_Data\aspnetdb.mdf to automatically named database failed. It may be caused by existing the same name database, or may be caused by specified file can not be opened or caused by the specified file exists in UNC share. 

在我的计算机中,dir D:\Projects\MyTest\App_Data下没有aspnetdb.mdf,以及为什么会搜索此目录?在运行配置工具之前,我已经使用aspnet_regsql成功生成了数据库。为什么会有这样的错误?如何解决它?

由于事先 乔治

回答

2

你有没有设置你的供应商,具有命名的连接?

<connectionStrings> 
    <add name="NamedConnectionString" 
    connectionString="xxxxxxxx" /> 
</connectionStrings> 

<membership defaultProvider="MembershipADProvider"> 
    <providers> 
    <add 
    name="MembershipADProvider" 
    type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, 
     Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionStringName="NamedConnectionString" /> 
    </providers> 
</membership> 

你说你使用了aspnet_regsql,这表明你正在尝试使用ASP.NET Membership Providers。如果您没有在您的配置中配置提供程序和连接,那么它将在您的站点的App_Data目录中查找名为aspnetdb.mdf的SQL Server Express文件。

+0

添加命名连接是为了什么目的,为什么它与我的问题有关? – George2 2010-05-06 07:56:44

+1

查看编辑回复 – 2010-05-06 08:06:20

+1

看看http://msdn.microsoft.com/en-us/library/ff648345.aspx – 2010-05-06 08:06:52