c# - 连接到 OpenShift (Redhat Paas) mysql 实例

标签 c# mysql ssh openshift tunnel

我正在尝试将我的 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 数据库建立连接?

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

最佳答案

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

一路上有一些不错的链接:快速简便的 2048 位 ssh-rsa 站点 key gen 。一个doc对于腻子和腻子根。 doc用于隧道设置(关键);看看dgreen写的。

解决方案是为应用程序提供 key 对,并针对隧道相应地调整 C#,或者使用 AWS EC2 IaaS,这很简单。 AWS 有 Free-tier一年。我可以轻松设置它,因为那是我最熟悉的地方。但我必须说我确实喜欢 Openshift 及其 PHP 前端。

关于c# - 连接到 OpenShift (Redhat Paas) mysql 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31905849/

相关文章:

c# - 在 asp.net 页面中保护密码 View 状态

c# - 我应该为数据库表使用多个 View 模型吗?

python - 通过 SSH 运行 python 脚本

c# - Mono/Ubuntu - 冲突的定义

java - Java SettableFuture 和 ListenableFuture 的 C# 等价物是什么?

php - 剑道自动完成 : datasource update dynamically

php - 措辞棒球盒分数

mysql - 如何在WordPress上的redux框架中将默认表wp_option更改为wp_sitemeta?

perl - perl 脚本中的 ssh

java - 如何使用 Java 在远程系统上运行 SSH 命令?