当我想在ASP .NET配置站点中为我的ASP NET MVC 4项目启动安全选项卡时,会出现以下错误:
http://s14.postimg.org/jvizqragv/error_sql.png
我知道有很多与此错误相关的问题,但我尝试了很多解决此问题的提示(我在这里尝试了建议的解决方案 - http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx但错误仍在此处。)< / p>
但是让我解释一下解决方案中的数据库是什么。我有一个本地数据库(App_Data中的.MDF文件)和一个由ASP NET MVC生成的用户身份验证数据库。它们都放在App_Data文件夹中,因为我正在尝试在不同的计算机上处理此解决方案。奇怪的是,在我家的笔记本电脑上没有这样的问题 - 我能够在安全选项卡中创建角色,探索用户和所有功能,我认为桌面计算机上的SQL Server可能存在一些问题 - 我在笔记本电脑上使用Express版本,在另一台机器上使用Developer版本,这些版本不起作用。
我的连接字符串如下:
<add name="FootballTransfers20130717145140Context" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\FootballTransfers.mdf;Integrated Security=True;MultipleActiveResultSets=True;Connect Timeout=30"
providerName="System.Data.SqlClient" />
<add name="DefaultConnection" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\DefaultConnection.mdf;Integrated Security=True;MultipleActiveResultSets=True;Connect Timeout=30"
providerName="System.Data.SqlClient" />
第一个是Entity框架,与我存储应用程序特定数据的数据库相关。第二个是由SQL生成的用户管理数据库。没有第二个连接字符串,我无法打开帐户控制器的任何操作。
这很奇怪,因为它适用于一台机器,而不适用于另一台机器。我想知道连接字符串是否有问题,但我想有一些SQL Server的东西。正如我所说,我尝试了各种解决方案,但它们没有用。
答案 0 :(得分:0)
LocalDB仅是SQL Server Express的一项功能。您必须在计算机上安装SQL Server Express或将数据库导入SQL Server并更改连接字符串。
在生产中,您可能还是必须转到完整的SQL Server版本。
答案 1 :(得分:0)
我在AccountController中添加了我试图在代码中创建的角色,现在我可以使用角色注册用户,但现在出现的问题是,当我将Authorize属性放在某个操作上时,只有用户如果某些角色可以请求它们,则会出现以下错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)
当我删除该属性以便任何人都可以访问它时,该操作正常。我在网上发现一些文章说必须在配置中指定提供者,但是一些错误仍然表明这些标签是未知的。