78

provider: Named Pipes Provider, error: 40 – 无法打开到 SQL Server 的连接

 5 years ago
source link: https://www.tlanyan.me/provider-named-pipes-provider-error-connect-sqlserver-error/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

转载请注明文章出处: https://tlanyan.me/provider-named-pipes-provider-error-connect-sqlserver-error

这是今天关于Windows的第三篇博文(囧),当然这篇不是吐槽而是转载关于Asp.Net程序连接SQL Server出错的解决办法。

文章目录

错误描述

在Asp.Net应用程序里配置connectionString,打开网页时抛出异常:

[Win32Exception (0x80004005): 系统找不到指定的文件。]
 
[SqlException (0x80131904): 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)]
 

解决办法

以下内容主要转载自: https://blog.csdn.net/haoge921026/article/details/61920229 ,略有整理。

一、检查连接参数

检查Web.Config的连接字符串是否正确:


三种写法

// string constr = “server=.;database=myschool;integrated security=SSPI”;

// string constr = “server=.;database=myschool;uid=sa;pwd=sa”;

// strConnection = “data source=.;initial catalog=netdb;user id=sa;pwd=sa”;

`

二,检查服务器配置

1. 检查 MSSQLSERVER 服务是否开启

uyayEfn.png!web

2. SQL Server 网络配置

  1. 启用 TCP/IP 协议

    在配置工具中同时使用TCP/IP和named Pipes,点击”确定”,然后重启SQLserver服务;

ERFNryy.png!web

  1. 右键右侧的 TCP/IP 的属性,启用供外部连接的那个 IP 地址和端口。

BZZFvu3.png!web

注意:TCP动态端口要为空!默认值是0,要删掉,然后在TCP端口一栏填入1433。

三、检查防火墙

如果数据库在本机,可以略过此步。如果数据库在远程机器,请先关闭掉远程机器的防火墙,如果连接成功则说明防火墙配置有问题,重新启用并放行1433端口。

总结

对SQL Server不熟的锅,这笔账不应该算到Windows上。不过说实在的,SQL Server默认使用动态端口也挺奇葩的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK