在网站管理工具网站管理工具的提供程序管理器中测试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>
答案 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"/>