【发布时间】:2014-10-29 18:25:27
【问题描述】:
在网站管理工具站点管理工具的提供程序管理器中测试 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>
【问题讨论】:
-
在运行 aspnet_regsql 时,您还有其他方法可以验证您是否创建了数据库?
-
验证数据库是什么意思?我该怎么做?我没有验证它..你能告诉我一些步骤..谢谢
-
他在询问文件 aspnetdb.mdf 是否存在于您尝试访问它的文件系统上。也可以用sql server management studio express打开吗?
-
是的。它在项目文件夹中的 app_data 文件夹中可用。我的 PC 上没有安装 SQL Server Management Studio Express。我找不到适用于 Windows 8 的兼容版本!请继续帮助我,我昨天花了所有时间寻找没有任何好处-
-
嗨,我现在首先检查了我的文件夹,我没有在 vs 2013 项目文件夹中找到 app_data 文件夹,而是在我的 wwwroot 文件夹中。我认为这是因为我在根据教程创建新网站时使用了 http 位置。那样可以么?或者我需要将文件夹更改为 vs 2013?