当我尝试连接SQL Server时,我得到以下错误:

在建立与SQL Server的连接时,发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确,SQL Server是否配置为允许远程连接。(提供商:Named Pipes提供商,错误:40 -无法打开到SQL Server的连接)

当我试图在Visual Studio 2010中将数据库配置为gridview时抛出此错误。我不知道如何调试这个错误。

如何调试此错误?除了错误消息中提到的步骤之外,我还应该采取哪些步骤来确定这里到底发生了什么?


当前回答

这也可能是简单的事实,你的数据库实际上不是MS SQL Server。例如,如果你的数据库实际上是MySql,你试图用System.Data.SqlClient连接它,你会得到这个错误。

到目前为止,大多数ADO的例子。Net将用于MSSQL,没有经验的用户可能不知道你不能在MySql中使用SqlConnection, SqlCommand等。

虽然所有的ADO。Net数据提供程序遵循相同的接口,您必须使用为您的数据库提供程序。

其他回答

我也有这个问题,我尝试了这篇文章中建议的所有方法,但没有任何效果。最后,我通过在SQL Server中执行这个查询解决了我的问题

EXEC sp_configure 'remote access', 0 ;  
GO  
RECONFIGURE ;  
GO  

除了尝试Teo Chuen Wei Bryan建议的所有方法外,还要确保在连接字符串中引用了正确的服务器/实例名称。

如果您在数据库服务器或web上使用主机名/实例的简写形式。配置文件,确保您使用完全限定域名(FQDN)/实例

此外,要从不存在SQL server客户端的服务器测试连通性,

——>创建一个文本文件,并将其扩展名为。udl

右键单击文件,你可以看到连接选项卡。

——>输入服务器名和登录信息,测试连接到数据库服务器。

希望这能有所帮助。

如果以上解决方案都不起作用(对我来说都不起作用),那么只需重新启动计算机,您就可以连接到sql server (localhost)。

为什么这个错误是如此烦人和嘈杂,只是因为它可以发生在不同的情况。

我已经做了上面所有的方法,但还是很糟糕。所以,在向下浏览之前,确保你和我做了同样的事情。

也许我不能立即解决你的问题,但我可以给你指明一个方向或思路(最后滑下来的那个人)。我已经开始思考我的运行程序的错误发生后,我确保实例名是明确正确的,并设置我的数据库,以允许远程控制以下的方法。之后,我怀疑我的SQL连接代码片段发生了错误。

我的问题解决方案:

检查我的sqlconnection函数

单击以查看其配置

新建连接

选择你的服务器名

对我来说,思考在联系的过程中到底发生了什么是有效的。希望我的想法能引导你改正错误。

验证用于为SQL Server实例创建会话的帐户。