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)。

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐