连接到OpenShift(Redhat Paas)的mysql实例

我正在尝试将我的c#应用程序与openshift数据库连接起来。 但是我在conn.Open()上得到了这个例外

 Eccezione => MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. in MySql.Data.MySqlClient.NativeDriver.Open() in MySql.Data.MySqlClient.Driver.Open() in MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) in MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() in MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() in MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() in MySql.Data.MySqlClient.MySqlPool.GetConnection() in MySql.Data.MySqlClient.MySqlConnection.Open() 

这是我的方法:

  public void connect() { string connStr = @"Server=test-lound.rhcloud.com;Port=3306;Database=test;Uid=XXXX;Pwd=YYYY;"; MySqlConnection conn = new MySqlConnection(connStr); try { Console.WriteLine("Connecting to MySQL..."); conn.Open(); Console.WriteLine("Connection successfull !"); conn.Close(); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine("Eccezione => " + ex.ToString()); } Console.WriteLine("Done."); } 

我做错了什么? 是否可以通过c#客户端应用程序与openshift数据库建立连接?

编辑 :我在这里找到了描述SSH隧道要求的文档。 也许这是必要的。

好吧,我终于端到端地工作了,但它是通过ssh隧道的Mysql Workbench。 这是openshift的一项要求,因为它是位于IaaS AWS(Amazon EC2)之上的PaaS。 所以对开发者来说没问题。 对于最终用户,没有ssh-rsa公共密钥对,它将无法工作,正如我所看到的那样。

沿途捕获一些很好的链接:一个快速简便的2048bit ssh-rsa 密钥源站点。 腻子和puttygen的文档 。 隧道设置的文档 (关键); 看看dgreen写的是什么。

解决方案是为应用程序提供密钥对,并相应地为隧道调整C#,或者使用AWS EC2 IaaS,这很容易。 AWS拥​​有一年的免费套餐 。 我可以轻松地设置它,因为这是我最熟悉的地方。 但我必须说我喜欢Openshift及其PHP前端。