奇怪的SQL Server附加数据库错误

时间:2010-05-06 07:44:14

标签: c# .net asp.net sql-server forms-authentication

我正在使用带有VSTS 2008的SQL Server 2008 Enterprise,我正在使用ASP.Net和Forms身份验证开发一个简单的Web应用程序。

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

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成功生成数据库。为什么会出现这样的错误?如何解决?

提前谢谢, 乔治

1 个答案:

答案 0 :(得分: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成员资格提供程序。如果您没有在配置中配置提供程序和连接,那么它将在您站点的App_Data目录中查找名为aspnetdb.mdf的SQL Server Express文件。