Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server中与网络相关的错误_Sql Server_Asp.net Mvc - Fatal编程技术网

Sql server SQL Server中与网络相关的错误

Sql server SQL Server中与网络相关的错误,sql-server,asp.net-mvc,Sql Server,Asp.net Mvc,当我要在ASP.NET配置站点中为我的ASP.NET MVC 4项目启动安全选项卡时,出现以下错误: 我知道有很多问题与这个错误有关,但我尝试了很多解决这个问题的技巧(我在这里尝试了建议的解决方案,但错误仍然存在) 但让我解释一下解决方案中我的数据库是什么。我有一个本地数据库(App_Data中的一个.MDF文件)和一个由ASP NET MVC生成的用于用户身份验证的数据库。它们都放在App_Data文件夹中,因为我正试图在不同的机器上使用此解决方案。奇怪的是,在家里的笔记本电脑上没有这样的问

当我要在ASP.NET配置站点中为我的ASP.NET MVC 4项目启动安全选项卡时,出现以下错误:

我知道有很多问题与这个错误有关,但我尝试了很多解决这个问题的技巧(我在这里尝试了建议的解决方案,但错误仍然存在)

但让我解释一下解决方案中我的数据库是什么。我有一个本地数据库(App_Data中的一个.MDF文件)和一个由ASP NET MVC生成的用于用户身份验证的数据库。它们都放在App_Data文件夹中,因为我正试图在不同的机器上使用此解决方案。奇怪的是,在家里的笔记本电脑上没有这样的问题——我可以创建角色,探索用户和“安全”选项卡中的所有功能,我认为我的台式机上的SQL Server可能存在一些问题-我在笔记本电脑上使用的是Express edition,在其他无法正常工作的机器上使用的是Developer edition

我的连接字符串如下所示:

<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" />

第一个是实体框架,与存储应用程序特定数据的数据库相关。第二个是SQL生成的用户管理数据库。没有第二个连接字符串,我无法打开帐户控制器的任何操作


这很奇怪,因为它在一台机器上工作,而不是在另一台机器上。我想知道连接字符串是否有问题,但我猜SQL Server有问题。正如我所说,我尝试了各种解决方案,但都不起作用

LocalDB仅是SQL Server Express的一项功能。您必须在计算机上安装SQL Server Express,或者将数据库导入SQL Server并更改连接字符串


在生产环境中,您可能无论如何都必须使用完整的SQL Server版本。

我在AccountController的代码中添加了我试图创建的角色,现在我可以使用角色注册用户,但现在出现的问题是,当我将Authorize属性放在某个操作上,以便只有具有特定角色的用户才能请求它们时,会出现以下错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位指定的服务器/实例时出错)


当我删除该属性以便任何人都可以访问它时,该操作工作正常。我在网上找到一篇文章说必须在配置中指定提供程序,但一些错误不断出现,这些标记是未知的。

实际上,另一个数据库的连接字符串使用LocalDb访问本地.mdf文件,它可以工作。“它不适合用户的原因是什么?”Niks probalby解释道。EF修复了第一个连接字符串,而ASP.NET尝试使用第二个字符串直接连接,但失败。尽管如此,该消息仍然是明确的-您正在尝试连接到一个不存在的SQL Server实例。我发布了一个新的回复,但在此处发布的时间太长。当您使用Entity framework时,您的连接字符串将自动生成,EF provider的连接字符串将为“System.Data.EntityClient”。您的数据库位置与是app_数据还是服务器上无关。EF将采取纠正措施。授权对数据库的调用。我想通过“添加角色”,您使用不同的连接字符串修改了数据库?那么,当您尝试使用以前失败的连接字符串时,它又失败了?请将数据库添加到SQL Server并修复连接字符串