Server Uptime des MySQL Servers auslesen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von weiss_gabi.

    Server Uptime des MySQL Servers auslesen

    Hallo an alle im (VB-)Paradise :)

    ich wollte den Server Uptime Status eines MySQL-Servers auslesen und habe dafür folgenden sql-Befehl gesendet

    VB.NET-Quellcode

    1. Private Function serverzeit() As Integer
    2. Dim serverzeit_int As Integer
    3. Try
    4. conn.ConnectionString = myConnectionString
    5. conn.Open()
    6. cmd.Connection = conn
    7. cmd.CommandText = "Show Status LIKE 'Uptime'"
    8. myData = cmd.ExecuteReader()
    9. Do While myData.Read()
    10. serverzeit_int = CInt(myData("Uptime"))
    11. Loop
    12. conn.Close()
    13. myData.Close()
    14. Catch ex As MySql.Data.MySqlClient.MySqlException
    15. MessageBox.Show(ex.Message)
    16. End Try
    17. Return serverzeit_int
    18. End Function


    aber leider bekomme ich die Fehlermeldung

    Eine Ausnahme (erste Chance) des Typs "System.IndexOutOfRangeException" ist in MySql.Data.dll aufgetreten.

    Wenn ich den SQL-Befehl auf andere Art und Weise an den Server sende (Konsole oder Workbench), bekomme ich immer eine "richtige" Antwort.

    Muß man das in VB irgendwie anders machen, als in der herkömmlichen Art und Weise ?

    Lieben Gruß
    Gabi
    Prüfe mal den Inhalt von MyData nachdem Du den Reader executed hast.

    Vermute das MyData keinen Index-Eintrag "Uptime" hat, musst einfach mal gucken welcher Index dem Wert zugewiesen wurde ... vllt. ist es ja "Status".

    Kannst auch mal prüfen ob statt CInt(myData("Uptime")) das hier geht: CInt(myData(0)) ... event. anstatt 0 die 1, kann jetzt gerade nicht sagen ob MyData zero-based ist.

    Da MyData eh nur einen Eintrag (eben die ausgelesene Uptime) beinhalten solle, würde durch obige Änderung einfach die Index-Ansprache von der Index-Bezeichnung auf Position in Auflistung verändert.

    Gruß

    Rainer