C# und MySQL

Yersinia

Grünschnabel
Moin
Ich hab das gleiche Problem. Doch bei Localhost mit mysql funktioniert es super. Leider gibts auf der mysql Seite kein Tut für online connection.

Hm, muss ich irgendeinen Port oder so freigeben?

thx
 

LordDeath

Erfahrenes Mitglied
Du musst schauen ob deine Firewall den Port gesperrt hat. Denn wenn der Port gesperrt ist wirst du nie zu deiner Datenbank eine Verbindung aufbauen können.

Greetz
 

d-Stench

Erfahrenes Mitglied
Hi,

hab die Firewall ausgeschaltet, leider mit dem gleichen Ergebnis.

ich glaub langsam nicht mehr dran, dass es bei mir je klappen wird :(.
 

Norbert Eder

Erfahrenes Mitglied
Hast du dich bei deinem Provider erkundigt, ob du dich überhaupt von aussen zu der Datenbank verbinden kannst bzw. darfst?
 

Yersinia

Grünschnabel
Also ich hab jetzt auch meine Firewall (Windows und eigene) abgeschaltet. Jedoch ohne Erfolg. Desweiteren weiß ich das mein Provider einen Zugriff unterstützt.
Jetzt hab ich aber noch immer das gleiche Problem. Muss hier im Programm vielleicht ein Socket definiert oder so werden (kenn mich mit Sockets überhaupt nicht aus).

Mein Connect - Code sieht folgendermaßen aus:
Code:
public void Connect(string server, string db, string user, string pw)
        {
           string mym_connectionString = "server="+ server + ";uid=" + user + ";" +
                "pwd=" + pw + ";database=" + db + ";";

            try
            {
                m_conn = new MySql.Data.MySqlClient.MySqlConnection(mym_connectionString);
                m_conn.Open();
            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message,
                "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

Die Fehlermeldung kommt immer bei 'm_conn.Open();'.
Ein Rätsel ist mir auch warum er die Try und Catch umgeht, denn es kommt zu einem Absturz des Programmes.
Er müsste doch wenn es fehlgeschlagen ist die MessageBox ausgeben oder irre ich mich da?

thx
yersinia
 

d-Stench

Erfahrenes Mitglied
Kann jemand sagen, ob er/sie es überhaupt schon mal geschafft hat? Also mit Oracle, Access oder MySQL (auf dem Rechner) ist es überhaupt gar kein Problem sich zu connecten, doch über's Web (mit MySQL) scheint das unmöglich zu sein........
 

Norbert Eder

Erfahrenes Mitglied
Nein es ist nicht unmöglich.

Zur Verbindungsthematik hab ich doch auch schon mal geschrieben, dass du es mit einem Tool von MySQL selbst (Administrator etc.) einmal probieren sollst. Wenn es damit funktioniert, dann liegts an deinem Sourcecode. Wenn nicht, dann gibt es einen anderen Grund. Und vielleicht läßt du dir einfach mal die Verbindungsdaten von deinem Provider geben.

Zum Problem von Yersinia: Das Programm wird wohl eher nicht abstürzen. Das was du als Absturz empfindest ist vermutlich das Timeout in welches das Öffnen der Verbindung läuft, wenn der Connection-String nicht richtig ist. Und wie lange das Timeout eingestellt ist, kann ich dir nicht sagen. Vermutlich so um die 30 Sekunden rum. Am besten einmal den Connection-String ausgeben lassen und ansehen ob dieser auch wirklich korrekt ist.
 

Neue Beiträge