MYSQLdb - Cursor "aktualisieren"
Verfasst: Sonntag 24. April 2016, 10:07
Hallo zusammen,
gestern habe ich zum ersten mal eine mysql-Datenbank mit Python abgefragt. Ziel ist es, in einer Schleife laufend aktuelle Werte für ein Display aus der Datenbank auszulesen.
Zunächst habe ich die Verbindung zur Datenbank hergestellt:
Dann kommt eine Schleife, in welcher mehrere DB-Abfragen ausgeführt werden:
Das Problem: Alle Abfragen (Abfrage_1, Abfrage_2, etc.) funktionieren genau einmal - im ersten Schleifendurchlauf. In allen weiteren Schleifendurchläufen werden die Werte nicht mehr aktualisiert, obwohl schon wieder neue Informationen in der Datenbank stehen.
Muß ich etwa nach jeder Abfrage den Cursor schließen und wieder neu erstellen oder mache ich grundsätzlich etwas falsch? Ein Schleifendurchlauf soll am Ende maximal 15 Sekunden dauern. Hat jemand einen Tip für mich?
Danke und viele Grüße!
gestern habe ich zum ersten mal eine mysql-Datenbank mit Python abgefragt. Ziel ist es, in einer Schleife laufend aktuelle Werte für ein Display aus der Datenbank auszulesen.
Zunächst habe ich die Verbindung zur Datenbank hergestellt:
Code: Alles auswählen
(...)
def DB_Verbindung_aufbauen():
DB_Verbindung = MySQLdb.connect(
host="123.456.789.123",
db="Messwerte",
user="xyz"
)
cursor = DB_Verbindung.cursor()
return DB_Verbindung, cursor
(...)
DB_Verbindung, cursor = DB_Verbindung_aufbauen()
Code: Alles auswählen
while True:
cursor.execute(Abfrage_1)
Wert1 = cursor.fetchone()[1]
cursor.execute(Abfrage_2)
Wert2 = cursor.fetchone()[1]
(...)
time.sleep(5)
Muß ich etwa nach jeder Abfrage den Cursor schließen und wieder neu erstellen oder mache ich grundsätzlich etwas falsch? Ein Schleifendurchlauf soll am Ende maximal 15 Sekunden dauern. Hat jemand einen Tip für mich?
Danke und viele Grüße!