MySql Datenbank Connection String mit Variablen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    MySql Datenbank Connection String mit Variablen

    Hallo,
    ich möchte über einen Button eine Verbindung zu einer Datenbank überprüfen lassen.
    Es funktioniert auch alles, nur jetzt möchte ich das ganze so machen, das die Datenbank Angaben (Host, DB, UID, PPWD) in My.Settings gespeichert werden, sodass ich sie auch mit dem Programm selber ändern kann und es nicht neu kompilieren muss.
    Meine bisherige Funktion sieht so aus:

    Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs)
    2. MysqlConn = New MySqlConnection
    3. MysqlConn.ConnectionString = "Data Source = '" & My.Settings.DBName & "'; Database = '" & My.Settings.DBDatabase & "'; UID = '" & My.Settings.DBPassword & "'; PWD = '" & My.Settings.DBPassword & "'"
    4. Try
    5. MysqlConn.Open()
    6. MsgBox("Verbindung Erfolgreich")
    7. MysqlConn.Close()
    8. Catch ex As Exception
    9. MsgBox(ex.Message)
    10. Finally
    11. MysqlConn.Dispose()
    12. End Try
    13. End Sub


    Wenn ich alle Daten normal Eintrage, dann funktioniert es auch gut. Ich habe alle My.Settings angaben als String eingetragen.
    Wenn ich es so ausführe, dann kommt der Fehler, das er nicht zu dem Host connecten kann.
    Bitte um Hilfe :P
    Vielleicht hilft dir das weiter: [url]http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials.html[/url]

    Und versuch mal das:

    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. Dim connection As New MySqlConnection
    5. Dim host As String = "127.0.0.1"
    6. Dim port As Integer = 3306
    7. Dim user As String = "root"
    8. Dim password As String = ""
    9. Dim database As String = ""
    10. connection.ConnectionString = "server=" & host & ";user=" & user & ";database=" & database & ";port=" & port.ToString() & ";password=" & password & ";"
    11. Try
    12. connection.Open()
    13. MsgBox("Success")
    14. connection.Close()
    15. Catch ex As Exception
    16. MsgBox(ex.Message)
    17. Finally
    18. connection.Dispose()
    19. End Try
    20. End Sub
    21. End Class
    Im Anhang findest du mein Test-Projekt, damit hat zumindest bei mir alles funktioniert - könntest du ja mal mit testen (evtl ist irgend wo anders der entschiedene Fehler)
    Ansonsten könnte ich mir vorstellen das er den Host den du angibst nicht auflösen kann, versuch mal eine IP anzugeben.
    Dateien
    Man sollte beim Zusammenbau einer Verbindungszeichenfolge das String-Gefrickel vermeiden und immer einen passenden ConnectionStringBuilder verwenden...
    MySqlConnectionStringBuilder

    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. Dim bld As New MySqlConnectionStringBuilder()
    5. bld.Add("Data Source", My.Settings.host)
    6. bld.Add("Database", My.Settings.host)
    7. bld.Add("UID", My.Settings.username)
    8. bld.Add("PWD", My.Settings.password)
    9. Dim connection As New MySqlConnection(bld.ConnectionString)
    10. Try
    11. connection.Open()
    12. MsgBox("Success")
    13. connection.Close()
    14. Catch ex As Exception
    15. MsgBox(ex.Message)
    16. Finally
    17. connection.Dispose()
    18. End Try
    19. End Sub
    20. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VB1963“ ()