Rumah > Artikel > pangkalan data > Bagaimana untuk Mendayakan Penyambungan Semula Automatik dalam MySQLdb untuk Interaksi Pangkalan Data Berterusan?
Mendayakan Penyambungan Automatik Pelanggan MySQL dengan MySQLdb
Dalam Python, MySQLdb menawarkan cara yang mudah untuk menyambung ke pangkalan data MySQL. Walau bagaimanapun, mengekalkan sambungan berterusan boleh menghadapi masalah, seperti sambungan terputus.
Soalan: Bagaimanakah kita boleh mendayakan penyambungan semula automatik dalam MySQLdb?
Penyelesaian: Walaupun wujud kaedah PHP untuk mengendalikan senario ini, MySQLdb tidak mempunyai pendekatan langsung yang serupa. Walau bagaimanapun, menggunakan fungsi tersuai boleh memberikan penyelesaian.
Coretan kod berikut menunjukkan如何mencapai penyambungan semula automatik:
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 db = DB() sql = "SELECT * FROM foo" cur = db.query(sql) # Simulate a connection timeout with a delay time.sleep(600) cur = db.query(sql) # Connection still active
Dalam contoh ini, kaedah pertanyaan cuba melaksanakan pertanyaan. Jika ralat sambungan berlaku, ia menyambung semula dan mencuba semula pertanyaan. Mekanisme ini memastikan interaksi pangkalan data berterusan walaupun sambungan terputus seketika.
Atas ialah kandungan terperinci Bagaimana untuk Mendayakan Penyambungan Semula Automatik dalam MySQLdb untuk Interaksi Pangkalan Data Berterusan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!