AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken mysql.pas - Timeout für mysql_real_connect()

mysql.pas - Timeout für mysql_real_connect()

Ein Thema von Caps · begonnen am 29. Sep 2011 · letzter Beitrag vom 30. Sep 2011
Antwort Antwort
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
291 Beiträge
 
#1

mysql.pas - Timeout für mysql_real_connect()

  Alt 29. Sep 2011, 08:50
Datenbank: MySQL • Version: 5 • Zugriff über: mysql.pas
Guten Morgen,

ich benutze mysql.pas für meinen DB-Zugriff.
Nun ist meine Datenbank offline und ich dachte, da könnte ich ja mal die Robustheit meines Programms testen, aber leider finde ich nicht die Stelle, wo ich den Timeout für eine nicht zustandekommende DB-Verbindung einstellen kann. So wie es aussieht, bleibt das Programm beim Aufruf von mysql_real_connect() hängen.

In der mysql.pas gibt es Konstanten, deren Name "timeout" enthält. Ich habe sie folgendermaßen gesetzt:

Code:
NET_READ_TIMEOUT = 5;      // Timeout on read
NET_WRITE_TIMEOUT = 5;     // Timeout on write
NET_WAIT_TIMEOUT = 5; // Wait for new query
Ich nehme mal an, dass es sich um Sekunden und nicht um Jahre handelt...?
Die Einstellungen hatten leider - nach Neucompilieren der Unit - nicht die gewünschte Auswirkung, ich nehme deshalb an, dass ich an einer anderen Stelle Änderungen vornehmen muss.

Meine Frage nochmal konkret und in Kurzform:
An welcher Stelle (in der mysql.pas ??) kann ich den Timeout einstellen, der bestimmt, nach welcher Zeit ein Verbindungsversuch mit dem MySQL-Server abgebrochen wird, falls die Verbindung nicht zustandekommt?

Es dankt herbstlich
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
291 Beiträge
 
#2

AW: mysql.pas - Timeout für mysql_real_connect()

  Alt 30. Sep 2011, 09:59
Keine User von mysql.pas hier, deren Datenbank auch mal offline sein könnte?

Push
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
434 Beiträge
 
#3

AW: mysql.pas - Timeout für mysql_real_connect()

  Alt 30. Sep 2011, 10:44
Diese Konstanten sind "read only". D.h. das Ändern der Konstanten bringt nur dann was, wenn man die libmysql.dll neu compiliert.
Das Ändern des Timeout sollte über die Funktion "mysql_options" funktionieren (siehe MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_READ_TIMEOUT, MYSQL_OPT_WRITE_TIMEOUT). Ich habe aber kein Erfahrung, ob das etwas bringt. Bei meinen Programmen sind die Abfragen in Threads verlegt, so das der Benutzer auch bei einer verzögerten Abfrage nicht vor einer nicht reagierenden Anwendung sitzen muss.

Geändert von samso (30. Sep 2011 um 10:48 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf