如何通过Windows Form C#Application连接到Linux托管数据库?

时间:2015-03-24 18:03:54

标签: c# php mysql linux

下午好,

很抱歉打扰你,但我确实有一个关于我需要在Linux托管数据库连接的Windows Form C#Application的问题。在完成应用程序和数据库的管理之后,我已经将我的朋友(分配给我任务的人)发送给了数据库,作为" .sql"文件,他在Linux服务器上导入它(通过PHPMyAdmin)并且它正常工作,但不幸的是,C#应用程序没有连接到他上传的数据库#34;在新服务器上。我确实认为问题可能来自两种不同的情况:

a)必须允许来自服务器的连接,使用如下命令:" bind-address = x.x.x.x"?

b)连接字符串可能有误?以下是测试连接是否在线的按钮代码:

private void button2_Click(object sender, EventArgs e)
{
    try
    {
        string MyConnection = "datasource=IP;port=3306;username=username;password=password";
        MySqlConnection MyConn = new MySqlConnection(MyConnection);
        MySqlDataAdapter MyDataAdapter = new MySqlDataAdapter();
        MyDataAdapter.SelectCommand = new MySqlCommand("select * database_name.Users ;", MyConn);
        MySqlCommandBuilder cb = new MySqlCommandBuilder(MyDataAdapter);

        MyConn.Open();
        MessageBox.Show("Database connection is established");
        MyConn.Close();
    }

    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

我不得不说这是我第一次尝试创建这样的应用程序,因此如果这似乎是一个愚蠢的问题,我会道歉:(谢谢你,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:0)

问题可能是远程Linux机器可能没有打开端口3306。

从命令行

可以运行:

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

打开mysql端口以实现远程连接

下面的页面说明了如何使用linux的各种优势。 http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html