MySQL Server Verfügbarkeit prüfen

  1. 8 months ago

    Andy M

    3 Jan 2019 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany

    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

    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

  2. Sascha S

    3 Jan 2019 Pre-Release Testers, Xojo Pro Germany, Lower Saxonary
    Edited 8 months ago

    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. ;)

    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. ;)

  3. Horst J

    3 Jan 2019 Pre-Release Testers, Xojo Pro Answer Europe, Germany, Stuttgart

    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

  4. Andy M

    4 Jan 2019 Pre-Release Testers, Xojo Pro Monheim am Rhein, Germany

    Super, genau danach hatte ich gesucht!
    Vielen Dank!

    Viele Grüße
    Andy

  5. Christian S

    4 Jan 2019 Pre-Release Testers, Xojo Pro, XDC Speakers, Third Party Store Germany
    Edited 8 months ago

    beim MBS Xojo SQL Plugin kann der ganze connect threaded sein.
    ConnectMT heißt 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 für MySQL.

or Sign Up to reply!