python链接sql报错_python3.7连接sqlserver数据库失败报错20002, DB-Lib error message 20002

python链接sql报错_python3.7连接sqlserver数据库失败报错20002, DB-Lib error message 20002python3 7 连接 sqlserver 数据库失败报错后解决方法 1 连接数据库脚本 这是我连接 sqlserver 和 mysql 的代码 数据库连接信息是调用 config ini 文件的信息 调用 config ini 文件的信息的脚本不在这描述了 def get conn self try if self sqltype

大家好,我是讯享网,很高兴认识大家。

python3.7连接sqlserver数据库失败报错后解决方法

1、连接数据库脚本

这是我连接sqlserver和mysql的代码;数据库连接信息是调用config.ini文件的信息;调用config.ini文件的信息的脚本不在这描述了

def get_conn(self):

try:

if self.sqltype == 'SqlServer':

conn = pymssql.connect(host=self.host, port=self.port, user=self.user, password=self.passwd,

database=self.database, charset=self.charset,autocommit=True)

else:

conn = pymysql.connect(host=self.host, port=self.port, user=self.user, password=self.passwd,

database=self.database, charset=self.charset,autocommit=True)

print('数据库已连接!')

return conn

except Exception as e:

print('%s', e)

config.ini配置文件里数据库信息样式如下:

[数据库名称xxxx]

host = xxxx

port = xxxx

user = xxxx


讯享网

passwd = xxxx

db = xxxx

charset = xxxx

sqltype = SqlServer(可自行标记,为了区分连接哪种数据库的标志)

或者

[数据库名称xxxx]

host = xxxx

port = xxxx

user = xxxx

passwd = xxxx

db = xxxx

charset = xxxx

sqltype = MySql(可自行标记,为了区分连接哪种数据库的标志)

2、连接sqlserver数据库失败,报错信息如下:

4e094b1bb40f43e4b63dc086d444a0ac.jpg%s (20002, b’DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (ip:port)\n’)

出现问题的原因:charset未配置或者配置错误,都会导致数据库连接失败,报上面的问题;

解决问题的方案:在 connect代码里设置连接数据库正确的charset,就可以连接上了;我连接数据库时charset=utf8报错了,然后将charset=CP936或者GBK(注意大小写)就能正常连接了

sqlserver数据库查询charset名称语句:select SERVERPROPERTY('Sqlcharsetname')

MySql数据库查询charset语句:show variables like '%character%',请参考该大神的博客:https://blog.csdn.net/huzecom/article/details/?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

小讯
上一篇 2025-01-11 10:01
下一篇 2025-01-24 13:58

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/43340.html