提供者管理:无法建立与数据库的连接

时间:2014-10-29 18:25:28

标签: sql asp.net database

在网站管理工具网站管理工具的提供程序管理器中测试AspNetSqlProvider时出现错误

我使用aspnet_regsql.exe创建了SQL Server数据库

但仍然有同样的错误:

提供商管理:无法建立与数据库的连接。 如果尚未创建SQL Server数据库,请退出“网站管理”工具,使用aspnet_regsql命令行实用程序创建和配置数据库,然后返回此工具以设置提供程序。

我有SQL Express 2012,VS ultimate 2013和windows 8。

我遵循的程序

1 - 使用会员资格创建新网站:[http://msdn.microsoft.com/en-us/library/879kf95c(v=vs.90).aspx][1]

2 - 当我到达ASP.NET配置时。 https://www.youtube.com/watch?v=b9o1ZExV5Jg

3 - 使用 aspnet_regsql.exe向导创建新数据库 aspnetdb (我使用了与SQL Express服务器相同的SQL身份验证凭据)。

4 - 已启用TCP / IP和名称管道

5 - ** SQL服务器和浏览器正在运行**

和我的 cofig.web 文件;

<connectionStrings>
 <remove name="LocalSqlServer"/>
 <add   name="LocalSqlServer" connectionString="data source=SAHARPC\\SQLEXPRESS;Initial Catalog=aspnetdb;Integrated Security=true;AttachDBFilename=C:\Users\Saharhp\Documents\Visual Studio 2013\Projects\web44\App_Data\aspnetdb.mdf;User Instance=true" 

providerName="System.Data.SqlClient"/>

maching.config

中的相同

这就是我所做的所有步骤。并且仍然是相同的错误(安全选项卡正常工作)。

请帮忙吗?

我的所有config.web代码

 <?xml version="1.0" encoding="utf-8"?>

<configuration>
  <system.web>

      <authentication mode="Forms" >
          <forms loginUrl="login.aspx"
            name=".ASPXFORMSAUTH" />
      </authentication>
      <authorization>
          <deny users="?" />
      </authorization>
      <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
          <providers>
              <clear />
              <add
                name="SqlProvider"
                type="System.Web.Security.SqlMembershipProvider"
                connectionStringName="MySqlConnection"
                applicationName="MyApplication"
                enablePasswordRetrieval="false"
                enablePasswordReset="true"
                requiresQuestionAndAnswer="true"
                requiresUniqueEmail="true"
                passwordFormat="Hashed" />
          </providers>
      </membership>
    <compilation debug="true" targetFramework="4.5" />

    <httpRuntime targetFramework="4.5" />

  </system.web>


      <connectionStrings>
          <remove name="LocalSqlServer"/>
          <add   name="LocalSqlServer" connectionString="data source=SAHARPC\\SQLEXPRESS;Initial Catalog=aspnetdb;Integrated Security=true;AttachDBFilename=C:\Users\Saharhp\Documents\Visual Studio 2013\Projects\web44\App_Data\aspnetdb.mdf;User Instance=true"

         providerName="System.Data.SqlClient"/>  

      </connectionStrings>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
<system.data>        
        <DbProviderFactories>
            <remove invariant="System.Data.SqlServerCe.4.0" />
            <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
        </DbProviderFactories>
    </system.data></configuration>

1 个答案:

答案 0 :(得分:0)

有问题。在<membership defaultProvider="SqlProvider"中,您使用的连接字符串名称与您拥有的名称不同,如下所示

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
  ........
            connectionStringName="MySqlConnection" <-Here

应该是

connectionStringName="LocalSqlServer"

另外,尝试将连接字符串更改为下方,请注意我已省略attachedDBfilename属性

<connectionStrings>
 <Clear/>
 <add name="LocalSqlServer" connectionString="data source=SAHARPC\\SQLEXPRESS;Initial Catalog=aspnetdb;Integrated Security=true; providerName="System.Data.SqlClient"/>
</connectionStrings>

如果这不起作用,请尝试使用SQL Server的用户名/密码而不是Integrated Security

 <add name="LocalSqlServer" connectionString="data source=SAHARPC\\SQLEXPRESS;Initial Catalog=aspnetdb; uid=sqlusername; pwd=password"; providerName="System.Data.SqlClient"/>
相关问题