gpt4 book ai didi

python - MySQLdb连接问题

转载 作者:行者123 更新时间:2023-11-29 06:22:51 24 4
gpt4 key购买 nike

我正在编写一个通过查询 MySQL 数据库提供服务的服务器。一切都很顺利,除了运行一两天后连接就会消失。错误代码是(2600,MySQL已经消失)

我尝试通过以下方式包装光标对象:

def cursor(self):    
try:
return self.connection.cursor()
except:
self.connection = MySQLdb.connect(**self.kwargs)
return self.connection.cursor()

这似乎不起作用,当我调用cursor.execute(..)时,当我从这个包装类中获取光标时,我仍然遇到错误。

知道我可以保持一致的连接吗?

最佳答案

@duffymo 关于不保持连接打开时间过长的想法是可行的,但是您最初关于捕获异常并重试的想法也是可行的(我不太确定哪个更好)。

由于异常是由 cursor.execute 引发的,因此您必须捕获并修复它(通过更新连接和游标并重复尝试执行)。我将通过一个简单的类包装器来完成此操作,将连接(以及建立或重新建立连接所需的参数)和游标作为成员,并公开用于执行和获取的方法。

请注意,通过以这种方式封装连接和游标,如果您这样做<,则可以保持完全相同的接口(interface)(使用完全不同的实现,从池中获取连接并在完成后将其返回那里)/em> 决定改用 @duffymo 的策略(一个显式方法“通过从此 execute 获取 完成”将会有所帮助;-)。

关于python - MySQLdb连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com