SqlServer 远程连接问题之08S01 -TCP Provider:远程服务器强迫关闭了一个现有的连接

1.问题描述

公司服务器CentOs7安装了SqlServer2019数据库服务。
在Linux服务器上通过 sqlcmd -S ip -U SA -P 密码 命令行形式可以连接进去没问题,
但是我通过本地的Navicat客户端工具却无法连接,会抛出一个TCP Provider:远程服务器强迫关闭了一个
现有的连接。

如图下(图是我网上随便找的,当时忘了截图了):

就是这个问题搞了一下午,没研究出来问题出在哪里!!!
参考各种网上大佬的博客,说先检查CentOs防火墙端口有没有开放,SqlServer有没有开启远程连接,
还有SqlServer有没有开启代理模式(我琢磨这和开启代理有啥关系,奈何不懂还是照做了),依然没有
解决问题。

2.解决问题

问题原因:
SQL Server Native Client 版本问题。我是用Navicat客户端工具连接的,连接SqlServer时需要下载
安装SQL Server Native Client(数据库客户端驱动),结果下载的是Native Client 2008版本,导致我
通过Navicat客户端工具连接时,一直抛出TCP Provider:远程服务器强迫关闭了一个现有的连接。

解决方案1:
卸载低版本的Native Client 2008,安装Native Client 2012
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=50402

解决方案2:
使用微软提供的SQL Server Management Studio客户端管理工具,下载安装时会自动下载最新的
Native Client驱动。(部分网址公司是禁止访问的,不然早搞好了。耽误打球)

下载地址:https://docs.microsoft.com/zh-cn/sql/ssms/sql-server-management-studio-ssms?view=sql-server-2017


解释:
SQL Server Native Client 是在 SQL Server 2005 中引入的用于 OLE DB 和 ODBC 的独立数据访问应
用程序编程接口 (API)。

 

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值