MySQL Server IP herausfinden

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

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von slice.

    MySQL Server IP herausfinden

    Hey zusammen,

    ich habe ein kleines Problem und zwar war ich gerade dabei mich mit diesem Beitrag zu beschäftigen -> Grundkurs Datenbank Programmieren .

    Ich habe einen Server auf dem MySql bereits vorinstalliert ist bzw über phpmyadmin verwaltet werden kann. Nun habe ich aber das Problem das wenn ich einen Eintrag (Über Visual Bais 2015) wie in dem Beitrag hinzufügen möchte kommt die Fehlermeldung "Unable to connect to any of the specified MySQL hosts"

    Ich habe dann gegooglet bzw. hier im Forum gesucht und bin nun soweit das ich sagen kann das das Problem daher kommt das das Fald "Server" falsch sein muss.

    Da habe ich haber ein Problem denn ich habe keine Ahnung was mein Server ist. Bei phpmyadmin steht oben in der Kopfzeile "Server: localhost:3306" was mich nicht unbedingt weiter bringt. Habe auch schon einige Kombinationen versucht aber immer die gleiche Fehlermeldung. Habt Ihr dazu Ideen was mein Server sein könnte bzw wo ich die Adresse finden kann? ?( ?(

    Hier nochmal mein Code, sollte (hoffentlich) alles stimmen:



    Imports sind:
    Imports MySql.Data.MySqlClient


    VB.NET-Quellcode

    1. Public con As New MySqlConnection
    2. Public cmd As New MySqlCommand
    3. Public reader As MySqlDataReader
    4. Public Sub Provider()
    5. con.ConnectionString = "server=localhost:3306;user id=USER;password=PASSWORT;database=DATENBANK;"
    6. cmd.Connection = con
    7. End Sub
    8. Dim ds As New DataSet
    9. Dim dt As New DataTable
    10. Dim da As MySqlDataAdapter
    11. Dim bs As New BindingSource


    VB.NET-Quellcode

    1. Private Sub ButtonEintragen_Click(sender As Object, e As EventArgs) Handles ButtonEintragen.Click
    2. Dim anzahl As String
    3. If TextBoxName.Text = "" Or TextBoxAlter.Text = "" Or TextBoxEMail.Text = "" Or TextBoxID.Text = "" Then
    4. MsgBox("Füllen Sie alle Felder aus!")
    5. Else
    6. Try
    7. con.Open() 'Verbindung zur Db öffnen
    8. cmd.CommandText = "INSERT INTO Benutzer(Name, Alter, E-Mail, ID) VALUES ('" & TextBoxName.Text & "', '" & TextBoxAlter.Text & "', '" & TextBoxEMail.Text & "', '" & TextBoxID.Text & "')" 'Der Befehl für die DB
    9. anzahl = cmd.ExecuteNonQuery 'anzahl enthält nun ein Wert alle geänderten/ hinzugefügten/ gelöschten Einträge
    10. con.Close() 'Verbindung zur DB schließen
    11. If anzahl > 0 Then 'Nun wird kontrolliert ob überhaupt ein Eintrag hinzugefügt geworden ist, wenn ja dann die MSG
    12. MsgBox("Sie haben einen Eintrag gemacht", MsgBoxStyle.Information)
    13. End If
    14. Catch ex As Exception
    15. con.Close() 'ich schließe hier ebenfalls die Verbindung, weil wenn ein Fehler in dem oberen code passiert, passiert er vor dem schließen der Verbindung. Wenn ich das nicht machen würde käme der Fehler das die Verbindung noch offen ist, wenn ich das nächste mal eine Verbindung öffne.
    16. MsgBox(ex.Message)
    17. End Try
    18. End If
    19. End Sub



    Und ja der Code ist nur Copy and Paste aus dem Beitrag weil ich nur mal herumprobieren wollte bzw mal schauen wollte wie und ob es funktioniert.

    Danke schon mal :)
    probierma, die '3306' einfach wegzulassen - evtl. reicht 'localhost' ja schon.

    Aber von dem DB-Tut würde ich dringend abraten - wenn du auf diese Weise in die Datenbänkerei einsteigst, verbaust du dir 90% der Unterstützung, die .Net eiglich für Datenbänkerei bereithält.

    Ausserdem gewöhnst du dich daran, scheunentor-große Sicherheitslöcher zu programmieren:
    Sql-Injection ( <- folge dem Link!)
    Und es gibt keinen Grund, sich sowas anzugewöhnen

    Sondern lern lieber richtig, und am besten fang mit den Grundlagen an, man sieht an deim Code, du proggst noch Option Strict Off, und mit dem vb6-ranz.
    Also im Grunde proggst du mit einer ganz anderen Sprache als das streng typisierte, objektorientierte vb.Net.
    So kannst du dich natürlich nicht weiter entwickeln, bzw. nur zum immer schlechteren.
    Also dringend empfohlen - die erste Grundlage von allen: Visual Studio - Empfohlene Einstellungen
    Oder steig um auf c#, da gibts diesen Unfug erst garnet, den man als vb-Anfänger immer erst noch zu deaktivieren lernen muss.


    Das war auch einer meiner versuche aber nachdem ich ja auf einen Server zugreife wird localhost alleine ja nicht reichen .. oder? (habs zumindest nochmal versucht und es hat nicht geklappt).


    Gibt es irgendwo besser Tut?
    Danke für die Links. Ich programmiere ja eig nur zum Spaß und habs mir mehr oder weniger mal mittels google ein wenig beigebracht. Wenn ich was programmier dann ists entweder das ich für mich selbst schnell was mache bzw so wie jetzt wenn ich einfach was versuchen will. Hätte ich mehr Zeit würde ich natürlich "richtig" programmieren lernen aber tja der Tag hat nur 24h :D
    ich sag immer: Bevor man mit Dbs rumfummelt muss man erstmal Datenmodellierung und Databinding erlernen. Eine Datenbank gleicht dem Tiefkühl-Haus einer Grossküche: Bevor du nicht vernünftig kochen kannst in deiner Großküche, wird es immer nur eine Riesen-Sauerei, wenn du da was rausholst, was du nicht vernünftig verarbeiten kannst.

    Zu Datenmodellierung und Databinding habich hier ein 3-teiliges Tut:
    codeproject.com/Articles/1030969/Relational-Datamodel

    Aber das ist noch zu hoch für dich, du musst ja wie gesagt erst überhaupt dein VS so einstellen, dass dein vb auch eine OOP-Sprache ist.
    Ich habe einen Server auf dem MySql bereits vorinstalliert das heißt die Adresse zur Datenbank ist die Adresse des Servers. phpmyadmin läuft auf dem selben Server weswegen das Stück Software die Verbindung über "localhost" aufbauen kann, deine Anwendung läuft aber nicht auf dem Server, sondern auf dem Client.

    Alles andere: Wie ErfinderDesRades gesagt hat!
    Was auch immer "http" mit Datenbanken zutun hat, ich kenne deine Infrastruktur nicht.
    Es kann sein das der Server von "außen" gar nicht erreichbar ist, dann kannst du lange versuch drauf zuzugreifen.