无法远程连接数据库

时间:2013-08-08 13:31:33

标签: c# mysql

我收到一条MySqlException未在一行上处理:conn.Open();

        MySqlConnection conn = new MySqlConnection("host=fdb5.freehostingeu.com;user=1477630_one;password=******;database=1477630_one;");
        MySqlCommand cmd = new MySqlCommand("SELECT * FROM users WHERE name = '"+name+"'AND surname = '"+ surname +"';");
        cmd.Connection = conn;

        conn.Open();

我认为我的连接字符串的格式是错误的。我已经尝试改变这些值,看看它是否是问题,但我仍然无法连接。

我做错了什么?

4 个答案:

答案 0 :(得分:2)

ConnectionStrings.com将此视为正确的标准格式:

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

相应调整你的:

Server=fdb5.freehostingeu.com;Uid=1477630_one;Pwd=******;database=1477630_one;

如果您需要允许远程连接MySQL,请参阅this other answer

答案 1 :(得分:2)

根据他们的实时支持,他们不会在免费软件包上提供与MySQL的远程连接。

enter image description here

答案 2 :(得分:2)

共享Web主机几乎从不允许远程访问MySQL等共享资源。您需要做的是在本地环境中安装MySQL的副本以进行开发和测试。然后通过他们为您提供的任何工具推出您的架构 - 这些通常是基于Web的。然后,当您将站点推送到共享主机时,您使用的连接字符串应该可以正常工作。

答案 3 :(得分:0)

1)请务必添加对MySQL.Data的引用 2)包含using MySql.Data.MySqlClient 3)您的连接字符串应格式化为:

connectionString = "SERVER=" + yourserver + ";" + "DATABASE=" + databasename + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

4)执行try-catch语句以捕获错误