2016-06-09 23 views
0

Ich versuche, eine Verbindung zu einer MySQL-Datenbank herzustellen, die auf openshift ausgeführt wird. Der Computer, den ich verwendet habe, läuft mit Gewinn 10. Unten ist mein C# Code-Snippet von dem, was ich versuche zu tun. Die Serveradresse, das Passwort und der Benutzername wurden ausgeblendet.Fehler beim Herstellen der Verbindung zum mysql-Server unter openshift

string connStr = @"Server=xxxxxxx.rhcloud.com:3306;Database=hurnhusms;Uid=XXX;password=XXX;"; 
     SqlConnection conn = new SqlConnection(connStr); 
     try 
     { 
      Console.WriteLine("Connecting to MySQL..."); 
      conn.Open(); 
      Console.WriteLine("Connection successfull !"); 
      conn.Close(); 
      Console.ReadLine(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("error => " + ex.ToString()); 
     } 
     Console.ReadLine(); 

, wenn ich die Anwendung und führen alles, was ich bekommen ist:

System.Data.SqlClient.SqlException (0x80131904): Ein netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Festlegung Server. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. Ich habe auch rhc port-forward, ich habe auch den mysql-Port auf der Website gepingt und es ist offen.

Jede Hilfe wäre zu schätzen.

+0

nicht sicher über OpenShift, aber stellen Sie sicher, dass Ihre Datenbank für Verbindungen von Ihrer externen Adresse konfiguriert – Roman

+0

Ich denke, Sie verwenden die SqlServer-Verbindungsobjekte. Wenn Sie eine Verbindung zu mysql herstellen, sollten Sie die Bibliothek mit MySqlConnection verwenden. –

+0

@GaryHolland Ich habe es auf MySqlConnection geändert, aber ich bin immer noch mit "Keine Verbindung zu einem der angegebenen MySQL-Hosts." Ich habe sowohl die IP-Adresse als auch die Webadresse ausprobiert. – mike

Antwort

0

Okay, was ich herausgefunden habe, ist, dass ich die rhc port-forward ausführen muss und dann dieses Fenster offen halten (diesen Befehl nicht beenden). Ich habe nicht bemerkt, dass das Fenster offen bleiben muss.

Verwandte Themen