0

我似乎无法通过网站管理工具创建 aspnetdb.mdf。我正在使用 SQL Express 2008 和 Visual Studio Web Developer 2010 Express。我在管理工具中收到以下错误:

您选择的数据存储存在问题。这可能是由无效的服务器名称或凭据或权限不足引起的。这也可能是由于未启用角色管理器功能造成的。单击下面的按钮可重定向到您可以选择新数据存储的页面。

以下消息可能有助于诊断问题:执行 SQL 文件“InstallCommon.sql”期间发生错误。SQL 错误编号为 5170,SqlException 消息为:无法创建文件 'C:\USERS**\DOCUMENTS\VISUAL STUDIO 2010\WEBSITES\BUGZ-B-GONE\APP_DATA\ASPNETDB_TMP.MDF',因为它已经存在。更改文件路径或文件名,然后重试该操作。创建数据库失败。无法创建列出的某些文件名。检查相关错误。创建 ASPNETDB_97c73957a1fb4a189ccca0449aa7d754 数据库...

当我删除 mdf 文件或更改路径时,我也会收到此错误。

下面是 web.config 文件:

<configuration>
  <connectionStrings>
   <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
   <add name="DATABASEConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DATABASE.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
    </authentication>
   <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" 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="ApplicationServices" applicationName="/"/>
      </providers>
    </profile>
    <roleManager enabled="true">
      <providers>
        <clear />
        <add connectionStringName="ApplicationServices" applicationName="/"
          name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
        <add applicationName="/" name="AspNetWindowsTokenRoleProvider"
          type="System.Web.Security.WindowsTokenRoleProvider" />
      </providers>
    </roleManager>
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>
4

1 回答 1

0

您的错误表明数据库已经存在,因此首先将其删除,然后运行 ​​WSAT。如果不起作用,则删除您的 web.config 并将新的配置文件添加到您的项目中,然后运行 ​​WSAT 并添加 aspnetdb 数据库。

你也可以试试aspnet_regsql

路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319

运行它,然后您可以在数据库中添加或删除 AspNet 数据库表。在MSDN上阅读更多详细信息

于 2012-08-18T14:45:59.967 回答