kostenloser Webspace werbefrei: lima-city


Verbindung zu Datenbank herstellen

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    Hallo!

    Ich versuche schon seit Stunden testweise mit C# eine Verbindung zu einer Datenbank herzustellen aber es funktioniert einfach nicht.. Ich bekomme die Meldung Unable to connect to any of the specified MySQL hosts.
    Was mache ich falsch?

    Hier der Code:

    string myConnectionString = "SERVER=mysql.lima-city.de;" +
                                            "DATABASE=name_der_datenbank;" +
                                            "UID=user_id;" +
                                            "PASSWORD=passwort;";
                MySqlConnection connection = new MySqlConnection(myConnectionString);
                try
                {
                    connection = new MySqlConnection(myConnectionString);
                    connection.Open();
                    if (connection.State == ConnectionState.Open)
                        MessageBox.Show("Connection established!", "MySQL Information",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (MySql.Data.MySqlClient.MySqlException ex)
                {
                    MessageBox.Show(ex.Message, "MySQL Exception",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Unknown Exception",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

    Danke im Voraus!

    Edit: Im ConnectionString habe ich natürlich die richtigen Userdaten eingetragen.. Und ich habe zu diesem Zweck übrigens den MySQL NET Connector runtergeladen und auch nicht vergessen die Verweise zu integrieren.

    Beitrag zuletzt geändert: 11.7.2012 21:33:00 von yorecords
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m**********n

    Also direkten Fehler kann ich jetzt nicht erkennen. Hab grad kein C# drauf, aber ich meine mich erinnern zu können, dass ich nicht "PASSWORD" sondern "pwd" beim Connection String geschrieben habe. Probier das doch mal.

    Lg

    mator
  4. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    mator-kaleen schrieb:
    Also direkten Fehler kann ich jetzt nicht erkennen. Hab grad kein C# drauf, aber ich meine mich erinnern zu können, dass ich nicht "PASSWORD" sondern "pwd" beim Connection String geschrieben habe. Probier das doch mal.

    Lg

    mator


    Danke für deine Atwort! Hab inzwischen bemerkt dass meine Firewall das Problem war.. :wall:

    Aber ich steh auch schon vor dem nächsten Problem... Passt zwar nicht wirklich in diesen Thread aber ich will nicht extra einen neuen eröffnen..

    Es geht um ein Problem mit dem Befehl ExecuteNonQuery(). Der funktioniert nicht..

    Folgende Meldung erscheint:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version...


    Und das ist der Code:

    string myInsertQuery = "INSERT INTO table (1, 2, 3, 4) Values('" + eingabe1 + "', '" +eingabe2 + "', '" + eingabe3 + "', '" + eingabe4 "')";
            MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
            myCommand.Connection = connection;
            myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();


    Danke im Voraus!

    Beitrag zuletzt geändert: 12.7.2012 0:46:02 von yorecords
  5. yorecords schrieb:
    ...You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version...
    das ist einmal eine fehlermeldung, die wenig hilft ;)
    Und das ist der Code:
    string myInsertQuery = "INSERT INTO table (1, 2, 3, 4) Values('" + eingabe1 + "', '" +eingabe2 + "', '" + eingabe3 + "', '" + eingabe4 "')";
    genau. und das reicht auch schon mal. dein prob ist nicht, dass ExecuteNonQuery nicht funzt, sondern dass wir's nicht wissen, was dein querystring beinhaltet.

    also: bevor du ExecuteNonQuery aufrufst, gib am bildschirm myInsertQuery aus und brich das programm ab. dann entweder erkennst du selbst das problem oder postest hier die ausgabe und fragst weiter.
  6. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    czibere schrieb:
    yorecords schrieb:
    ...You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version...
    das ist einmal eine fehlermeldung, die wenig hilft ;)
    Und das ist der Code:
    string myInsertQuery = "INSERT INTO table (1, 2, 3, 4) Values('" + eingabe1 + "', '" +eingabe2 + "', '" + eingabe3 + "', '" + eingabe4 "')";
    genau. und das reicht auch schon mal. dein prob ist nicht, dass ExecuteNonQuery nicht funzt, sondern dass wir's nicht wissen, was dein querystring beinhaltet.

    also: bevor du ExecuteNonQuery aufrufst, gib am bildschirm myInsertQuery aus und brich das programm ab. dann entweder erkennst du selbst das problem oder postest hier die ausgabe und fragst weiter.


    Danke für deine Antwort!
    Daran liegt es nicht. Der Querystring gibt genau das aus was er ausgeben soll, nämlich die aktuelle Zeit und das was vorher eingegeben wurde. In der Datenbank ist alles richtig eingestellt. Wenn ich das Programm debugge sagt das Visual Studio eben dass was mit dem Befehl nicht stimmt..
  7. yorecords schrieb:
    ... Wenn ich das Programm debugge sagt das Visual Studio eben dass was mit dem Befehl nicht stimmt..
    yo mey! und was sagt es? dass wir nicht völlig in dunkeln tappen müssen?

    Beitrag zuletzt geändert: 12.7.2012 1:39:37 von czibere
  8. Und das ist der Code:
    string myInsertQuery = "INSERT INTO table (1, 2, 3, 4) Values('" + eingabe1 + "', '" +eingabe2 + "', '" + eingabe3 + "', '" + eingabe4 "')";


    yorecords, wir brauchen die Werte, die in den Variablen "eingabe1", "eingabe2", "eingabe3" und "eingabe4" enthalten sind und mit denen dann schlussendlich die Query übergeben wird.
    Die Fehlermeldung allein ist einfach zu wenig, wir müssten Rätselraten.
    Kannst Du im Debug-Modus mal die Werte auslesen bevor die Exception ausgelöst wird und diese hier Angeben?
  9. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    adelwoehrer schrieb:
    Und das ist der Code:
    string myInsertQuery = "INSERT INTO table (1, 2, 3, 4) Values('" + eingabe1 + "', '" +eingabe2 + "', '" + eingabe3 + "', '" + eingabe4 "')";


    yorecords, wir brauchen die Werte, die in den Variablen "eingabe1", "eingabe2", "eingabe3" und "eingabe4" enthalten sind und mit denen dann schlussendlich die Query übergeben wird.
    Die Fehlermeldung allein ist einfach zu wenig, wir müssten Rätselraten.
    Kannst Du im Debug-Modus mal die Werte auslesen bevor die Exception ausgelöst wird und diese hier Angeben?


    Ja eben das was man vorher eingibt... In der ersten Spalte das Datum und die Zeit also z.B. 12.07.2012 15:55:22 und in den anderen 3 Spalten Text, z.B.: Test, Test, Das ist ein Test.
  10. Ja eben das was man vorher eingibt...

    Ja was wurde denn vorher eingegeben?
    Die Variablen müssen doch durch irgendeine Funktion befüllt werden.

    Es kann durchaus passieren, dass eine dieser Variablen Zeichen enthält, durch die die Ausführung der Query verhindert wird, weil nicht richtig escapte wurde....einfache Hochkommata oder Beistriche zum Beispiel.
    Bei verschiedenen SQL-Server Versionen hatte ich auch schon Probleme mit Datumsformaten.
    Solange kein vollständiger Datensatz von Dir gepostet wird, kann Dir niemand helfen....wenn ich nun einfach Werte in deine Query einfüge, funktioniert von meiner Seite her alles....ergo brauchen wir die Werte, die bei Dir in den Variablen stehen, wenn die Exception ausgelöst wird.

    Beitrag zuletzt geändert: 12.7.2012 15:53:40 von adelwoehrer
  11. Abgesehen von deinem Problem , solltest du MySQL Verbindungen lieber mit php machen und die werte mit WebRequest oder WebClient Senden/Auslesen weil sonst jeder der dein Programm hat vollen Zugriff auf deine Datenbank hat da man C# sehr einfach decomplieren kann , festgelegte Passwörter haben in der regel nichts im Code zu suchen da bei einer decomplierung des Programmes oder schon wen man den hexeditor an macht die Passwörter rausfiltern kann und dann bist du im arsch wen man so will ^^
  12. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    adelwoehrer schrieb:
    Ja eben das was man vorher eingibt...

    Ja was wurde denn vorher eingegeben?
    Die Variablen müssen doch durch irgendeine Funktion befüllt werden.

    Es kann durchaus passieren, dass eine dieser Variablen Zeichen enthält, durch die die Ausführung der Query verhindert wird, weil nicht richtig escapte wurde....einfache Hochkommata oder Beistriche zum Beispiel.
    Bei verschiedenen SQL-Server Versionen hatte ich auch schon Probleme mit Datumsformaten.
    Solange kein vollständiger Datensatz von Dir gepostet wird, kann Dir niemand helfen....wenn ich nun einfach Werte in deine Query einfüge, funktioniert von meiner Seite her alles....ergo brauchen wir die Werte, die bei Dir in den Variablen stehen, wenn die Exception ausgelöst wird.


    Ich hab doch gerade oben den Inhalt der Variablen gepostet...

    yorecords schrieb:
    In der ersten Spalte das Datum und die Zeit also z.B. 12.07.2012 15:55:22 und in den anderen 3 Spalten Text, z.B.: Test, Test, Das ist ein Test.


    Das wäre mal eine Beilspielseingabe..

    toshii schrieb:
    Abgesehen von deinem Problem , solltest du MySQL Verbindungen lieber mit php machen und die werte mit WebRequest oder WebClient Senden/Auslesen weil sonst jeder der dein Programm hat vollen Zugriff auf deine Datenbank hat da man C# sehr einfach decomplieren kann , festgelegte Passwörter haben in der regel nichts im Code zu suchen da bei einer decomplierung des Programmes oder schon wen man den hexeditor an macht die Passwörter rausfiltern kann und dann bist du im arsch wen man so will ^^


    Da hast du auf jeden Fall Recht.. Aber ich will mir in erster Linie nur mal einen Überblick über diese Möglichkeit verschaffen. Wenn daraus tatsächlich ein fertiges Programm wird, wird es nicht veröffentlicht sondern höchstens privat zum Einsatz kommen.
  13. Ich hab doch gerade oben den Inhalt der Variablen gepostet...

    Das hab ich soweit schon gesehen, aber....

    In der ersten Spalte das Datum und die Zeit also z.B. 12.07.2012 15:55:22 und in den anderen 3 Spalten Text, z.B.: Test, Test, Das ist ein Test.

    Das wäre mal eine Beilspielseingabe..

    ....dachte dann, das sind nicht die Werte, die auch zur Exception führen, weil du ständig "Beispielseingabe" schreibst.

    Hmm....also wie gesagt, wenn ich mir Deinen Code einfach so kopiere und eine Query ausführe, klappt das ohne weiteres.
    Ist etwas von MySQL-Problemen am Server bekannt, die nur bestimmte Benutzer betreffen?
    Versuch mal, für Deine Spaltennamen keine Zahlen zu verwenden....ich hatte erst kürzlich ein ähnliches Problem....zwar mit einem anderen Datenbank-System, aber vielleicht bringt das ja was.
  14. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    adelwoehrer schrieb:
    Ich hab doch gerade oben den Inhalt der Variablen gepostet...

    Das hab ich soweit schon gesehen, aber....

    In der ersten Spalte das Datum und die Zeit also z.B. 12.07.2012 15:55:22 und in den anderen 3 Spalten Text, z.B.: Test, Test, Das ist ein Test.

    Das wäre mal eine Beilspielseingabe..

    ....dachte dann, das sind nicht die Werte, die auch zur Exception führen, weil du ständig "Beispielseingabe" schreibst.

    Hmm....also wie gesagt, wenn ich mir Deinen Code einfach so kopiere und eine Query ausführe, klappt das ohne weiteres.
    Ist etwas von MySQL-Problemen am Server bekannt, die nur bestimmte Benutzer betreffen?
    Versuch mal, für Deine Spaltennamen keine Zahlen zu verwenden....ich hatte erst kürzlich ein ähnliches Problem....zwar mit einem anderen Datenbank-System, aber vielleicht bringt das ja was.


    Komisch...
    Das mit den Spaltennamen hab ich schon versucht.. Hat aber nichts geholfen..
    Naja, zurzeit bin ich sowieso anderweitig beschäftigt.. Vielleicht erledigt es sich ja inzwischen von selbst..
    Jedenfalls danke für die Hilfe!
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!