MySQL Server Verfügbarkeit prüfen

Hallo,

wie kann ich schnell feststellen, ob ein bestimmter MySQL Server zur Verfügung steht?
Über Connect erhalten ich eine Fehlermeldung, nur dauert mir das zu lange.

Wenn ich z.B. durch den fehlende VPN Tunnel überhaupt nicht mit dem Firmennetzwerk verbunden bin,
sollte ich das doch schneller abfragen können. Oder die IP?

Hat jemand einen Tipp wie ich das am schnellsten prüfen kann?

Viele Grüße
Andreas

Prüfen ob ein Netzwerkgerät verfügbar ist und dann Ping z.B.?

BTW: Das hilft Dir nicht, aber meine Kollegen haben sich daran gewöhnt das wenn der Server mal nicht zu erreichen ist, es bis zu 30 Sekunden dauern kann bis eine entsprechende Meldung beim Login erscheint… Sollte ja nicht zu oft passieren. :wink:

PS: Wickle den gesamten Connect/Login in Threads ab (inkl. neuer Versuche wenn Connect nicht erfolgreich, voll automatisch) und biete eine Möglichkeit diesen Prozess mit 1 Klick abzubrechen. Dann darf es auch mal länger dauern denn der Nutzer bekommt keine Meldung und wartet einfach während die App den Rest erledigt. :wink:

Am besten mit TCPSocket (siehe Online Hilfe). Falls der Server nicht verfügbar ist, erhält man in weniger als 1 Sekunde eine Fehlermeldung.

Dim socket1 As New TCPSocket

// set its port and address
socket1.Address = “MySQLserver.domain.com
socket1.Port = 3306

// connect the socket
socket1.Connect

// while the socket isn’t connected
While Not socket1.IsConnected
// check to see if the socket got an error
If socket1.LastErrorCode <> 0 Then
Exit
End If
// poll the socket to let it do its thing
socket1.Poll
Wend

// if we broke the loop because we’re connected
If socket1.IsConnected Then
// here would be a great place to do a synchronous read operation…
Else
//The socket broke out of the loop due to an error
MsgBox "Error: " + socket1.LastErrorCode.totext
End If

// close the socket
socket1.Close

Super, genau danach hatte ich gesucht!
Vielen Dank!

Viele Grüße
Andy

beim MBS Xojo SQL Plugin kann der ganze connect threaded sein.
ConnectMT heit die Methode.
Wenn die GUI keine Lust mehr hat, einfach den Thread im Hintergrund zu ende laufen lassen und dann Verbindung wegwerfen.

Oder connection timeout auf 5 Sekunden stellen fr MySQL.