Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
C# .Net Sql连接-";找不到网络名称";从一个解决方案_C#_Sql_Connection String - Fatal编程技术网

C# .Net Sql连接-";找不到网络名称";从一个解决方案

C# .Net Sql连接-";找不到网络名称";从一个解决方案,c#,sql,connection-string,C#,Sql,Connection String,我们在一些机器上使用数据库别名进行设置,因为一些开发环境使用Express,而另一些环境使用完整的SQL 我的一个解决方案中出现了一个奇怪的错误,它使用(本地)别名路由到localhost\sqlexpress版本。它只是在最近两周才开始出现的,这个别名实际上没有什么问题 我们在此解决方案中遇到的错误是: {“建立到SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问该服务器。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提

我们在一些机器上使用数据库别名进行设置,因为一些开发环境使用Express,而另一些环境使用完整的SQL

我的一个解决方案中出现了一个奇怪的错误,它使用(本地)别名路由到localhost\sqlexpress版本。它只是在最近两周才开始出现的,这个别名实际上没有什么问题

我们在此解决方案中遇到的错误是:

{“建立到SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问该服务器。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)}

我们已经在本地、SQLManagementStudio和一个单独的解决方案中测试了这个连接,它在所有其他场景中都可以正常工作

当我在正在运行的两个visual studio实例的即时窗口中运行以下代码时,一个运行正常,另一个抛出上述异常:

new SqlConnection("Data Source=(local);Initial Catalog=CATALOG;Persist Security Info=True;user id=USERNAME;password=PASSWORD;Application Name=APPNAME Local").Open()
这是我见过的最奇怪的事情之一。我想知道在项目级别是否存在某种我不知道的别名覆盖,或者是否存在任何其他会在项目基础上影响连接字符串的内容

谢谢你的帮助

更新:
大家好,谢谢你们的反馈。但是我想强调的是,这个连接字符串是有效的,并且在同一台机器上的所有其他场景中都可以使用它不工作的解决方案之外的其他方案。我已经用命名管道和TCP/IP对此进行了测试,这两种情况下都是一样的。

这可能是由于多种原因造成的,可能是您的防火墙阻止了与默认MSSQL端口的连接,或者您禁用了SQL TCP/IP协议。wich是System.Data.SqlClient.SqlConnection类使用的默认协议

要启用此属性,必须转到“SQL Server配置管理器”,使用实例名称展开节点,并在“客户端协议”中启用TCP/IP

我不张贴图片,因为我需要声誉,但它对我有用


问候。

请参见:要解决此问题,请参见:@MaciejLos(local)完全有效(即使connectionstrings.com中未提及)。它应该映射到本地主机上的默认实例。我不知道它是否能自动映射到一个命名实例(如本例),我不熟悉SQL Express。此错误通常是由于找不到服务器而导致的。如果数据源正确,可能是服务器上的提供程序/连接类型未启用(例如,命名管道与TCP/IP相对应。@MaciejLos“…使用(本地)别名路由到localhost\sqlexpress版本的解决方案…”。我猜他说的是本地计算机(重点是我的)。这不是SQL实例的问题,因为连接字符串是有效的,并且可以与TCP/IP和命名管道一起使用。是的,连接字符串是有效的,但我说,他应该在SQL管理器中查看是否为此实例启用了这些协议。如果未启用协议,症状会是什么?我假设它根本不起作用,如果d我将无法连接到Management Studio或使用任何SqlConnection对象?如果您试图使用禁用的协议连接到SQL Server实例,客户端将永远找不到该实例。因此,服务器肯定正在运行,因为连接字符串正确建立了连接,并且可以运行我需要的任何命令从VisualStudio的第二个实例中抛出它。