python 3.8
pymssql 2.2.8
python连接MSSQL报错20002:
pymssql._mssql.MSSQLDatabaseException: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (...)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (...)\n')
按照网上查询的增加charset='cp936'也没有用,但用SSMS连接没问题
conn = pymssql.connect(host='*.*.*.*', port = '1433', user='*', password='*', database='*', charset = 'cp936')
错误20002表示"Adaptive Server connection failed",这意味着在尝试连接到Adaptive Server(也就是你的MSSQL数据库)时出现了问题。
以下是一些可能的解决方案:
1.检查主机名、端口、用户名和密码:确保这些信息都是正确的。特别是如果主机名是IP地址,确保没有输入错误。
2.检查MSSQL服务器:确认MSSQL服务器是否正在运行,并且是否在1433端口上监听。在SSMS中可以尝试连接以确认。
3.检查网络连接:确认你的Python程序和MSSQL服务器之间没有网络问题。尝试ping服务器,看看是否能够ping通。
4.检查Python和pymssql的版本:确认你的Python和pymssql版本是否兼容。如果可能的话,尝试更新到最新版本。
5.使用SSL:如果你的连接需要SSL,确保你已经正确地设置了SSL。
6.尝试使用pyodbc:有时候,pymssql可能无法正确地连接到某些数据库。你可以尝试使用pyodbc库,看看是否能够解决问题。