使用python访问数据库,会发生访问失败的原因个人已知的有三种:

1、配置错误

host='',
port='1433',
user='',
password='',
database=''

请检查以上各项是否和所连接的数据库参数是符合的。

2、编码格式

这是我在遇到这个问题时在网上搜索到的最多的一种情况,即数据库的编码格式和pymssql的不同,可以在配置内容中加上charset=CP936,也有可能为GBK或者是UTF-8,但pymssql默认的一般是UTF-8。

3、版本问题

这是我遇到的问题,在网上和各大论坛好像还没有找到类似的问题和解决方式。我在两台电脑上都进行了实验,分别对应的python版本为3.8和3.11,开始使用的pymssql版本都为2.2.9,两台电脑同时出现了访问失败20002的报错。将pymssql版本回退到2.2.7版本之后就可以顺利连接上数据库了。又试了将pymssql版本回退到2.2.5,则又会出现访问失败20002的报错。

4、其他

网上还有说配置TCP为1433,打开sql server brower等,在我遇到这个问题时都未对这方面做修改,因为TCP一般默认为1433、sql server brower一般默认禁用,只有在本机服务器作为远程服务器要被别人访问时才会需要打开(个人猜测,因为仅仅用作本地访问是不用打开的)。

Logo

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

更多推荐