Verbindungsdaten testen

  • VB.NET

    Verbindungsdaten testen

    Hi!

    Ich habe eine Anwendung, die auf einen MSSQL-Server (ich hab' jetzt gerade nicht die genaue Version im Kopf - 2005 glaub' ich - jedenfalls die, die beim Small Business Server 2003 R2 dabei ist) zugreift. Die Verbindungsdaten (Server, Datenbankname, Benutzer und Passwort) soll der Benutzer in einem Dialog einstellen können. Nun möchte ich (die Benutzer sind keine Admins) vor dem Speichern die Benutzerdaten kontrollieren, auch Benutzer und Passwort.

    Wie mach ich das?

    Mein Versuch:

    VB.NET-Quellcode

    1. Private Sub btnTestConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestConnection.Click
    2. Dim iserr As Boolean = False
    3. tbxDatabaseName.BackColor = Color.FromKnownColor(KnownColor.Window)
    4. tbxServer.BackColor = Color.FromKnownColor(KnownColor.Window)
    5. If tbxDatabaseName.Text.Trim().Length = 0 Then
    6. iserr = True
    7. tbxDatabaseName.BackColor = Color.Red
    8. End If
    9. If tbxServer.Text.Trim().Length = 0 Then
    10. iserr = True
    11. tbxServer.BackColor = Color.Red
    12. End If
    13. If iserr = True ThenMsgBox("Bitte berprfen Sie Ihre Eingabe.")
    14. Else
    15. lblTestConnection.Visible = TrueMe.Update()Me.Cursor = Cursors.WaitCursor
    16. buildConnectionString()
    17. SqlConnection1.ConnectionString = cs
    18. Try
    19. SqlConnection1.Open()Catch ex As Exception
    20. MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Formular Import")
    21. End Try
    22. iserr = False
    23. If SqlConnection1.State = ConnectionState.Open Then
    24. SqlCommand1.CommandText = "SELECT * FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS"
    25. SqlCommand1.CommandTimeout = 15
    26. SqlCommand1.CommandType = CommandType.Text
    27. SqlCommand1.Connection = SqlConnection1
    28. Try
    29. SqlCommand1.ExecuteReader()Catch ex As Exception
    30. iserr = True
    31. End Try
    32. SqlConnection1.Close()
    33. Else
    34. iserr = True
    35. End If
    36. lblTestConnection.Visible = False
    37. If iserr = True ThenMsgBox("Test N I C H T ERFOLGREICH")
    38. ElseMsgBox("Test ERFOLGREICH abgeschlossen")
    39. btnSave.Enabled = True
    40. End If
    41. End IfMe.Cursor = Cursors.Default
    42. End Sub


    Leider bekomme ich auch bei falschen Benutzerdaten keinen Fehler.