Maison > Article > base de données > Comment activer la reconnexion automatique du client dans MySQLdb pour les connexions persistantes en Python ?
MySQLdb : activation de la reconnexion automatique du client
En Python, la bibliothèque MySQLdb fournit un moyen pratique d'interagir avec les bases de données MySQL. Un défi courant consiste à maintenir une connexion persistante malgré des interruptions temporaires.
Pour résoudre ce problème, une solution existe en PHP impliquant des options MySQL, mais les utilisateurs ont du mal à la répliquer avec MySQLdb.
Solution :
La clé pour activer la reconnexion automatique dans MySQLdb réside dans l'encapsulation du curseur.execute() méthode.
Le code Python suivant illustre une solution :
import MySQLdb class DB: conn = None def connect(self): self.conn = MySQLdb.connect() def query(self, sql): try: cursor = self.conn.cursor() cursor.execute(sql) except (AttributeError, MySQLdb.OperationalError): self.connect() cursor = self.conn.cursor() cursor.execute(sql) return cursor # Example usage db = DB() sql = "SELECT * FROM foo" cur = db.query(sql) # Sleep for a long time to simulate connection timeout time.sleep(60 * 60 * 24) cur = db.query(sql) # Connection is still valid and usable
Dans cette approche, la fonction query() gère la connexion au nom de l'utilisateur, garantissant que toute connexion perdue est rétablie. établi automatiquement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!