我试图连接到我的mysql数据库,但似乎没有什么能帮到我 我疯了,我已经在互联网上搜索了大约3个小时,并没有发现任何对我有用的东西。拜托,有人可以帮助我吗?
这是我到目前为止的代码:
public bool tryLogin(string username, string password)
{
MySqlConnection con =
new MySqlConnection("Server=159.253.0.3;Database=dbname;Uid=username;Pwd=password;"); // Removed the login info.
MySqlCommand cmd =
new MySqlCommand("SELECT * FROM login WHERE user_name = '" + username + "' AND user_pass = '" + password +
"';");
cmd.Connection = con;
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
if (reader.IsDBNull(0))
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return false;
}
else
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return true;
}
}
else
{
return false;
}
}
这是我不断得到的错误:
拒绝用户访问 ' joeysft57_app' @' 53569B33.cm-6-7c.dynamic.ziggo.nl' (使用密码: YES)
答案 0 :(得分:0)
看起来像权限(权限)的问题..你可以通过连接它与你的本地数据库确认它..如果它与你的本地数据库一起工作那么肯定是一个许可问题
答案 1 :(得分:0)
我认为您的用户joeysft57_app
无权从指定的计算机访问数据库
您需要连接到数据库的管理员界面并提供所需的权限
GRANT USAGE ON *.* TO myAppUser@% IDENTIFIED BY 'yourpass';
GRANT ALL PRIVILEGES ON serverdb.* to myAppUser@%
或要求数据库管理员为您执行此操作。
编辑:改变了一些东西, 首先使用通配符%
让用户从任何PC连接
第二个定义了将在您的连接字符串中使用的通用用户,因此您的用户使用相同的用户/密码连接所有用户。当然,从安全角度来看,这并不是很好。但这是你的选择。
如果数据库位于运行应用程序的同一台计算机上,那么您也可以使用localhost
而不是%
快捷方式。 (更安全)