C#MySql.Data.MySqlClient.MySqlException无故错误
本文关键字:错误 MySqlException Data MySqlClient C#MySql | 更新日期: 2023-09-27 18:26:57
在过去的一个月里,我一直在用一个C#程序和一家公司的API获取数据。就在昨天,它突然不起作用了,尽管我根本没有更改代码。这是代码:
public string GetMatchCode()
{
//this could be loaded from config file or other source
string connectString = "Server=123.123.1.23;Database=blah_users;Uid=blah_data;Pwd=blahblah;";
string sql = "SELECT MAX(match_id) FROM `data_blah`";
using (var connect = new MySqlConnection(connectString))
using (var command = new MySqlCommand(sql, connect))
{
connect.Open();
return command.ExecuteScalar().ToString();
}
}
我得到了这个错误:
An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
Additional information: Access denied for user 'blah_data'@'cpe-86-80-21-54.san.res.rr.com' (using password: YES)
知道可能发生了什么以及如何解决吗?我认为唯一可能发生的事情是,我处理node.js兼容性的支持票证被支持人员执行错误。谢谢
您的数据库用户权限失败。用户可能已被删除;权限可能已被修改。请与数据库所有者联系。
所以看起来您没有进行身份验证:凭据不正确或服务器需要不同的方法。尝试禁用"sslmode",如下所示:
public string GetMatchCode()
{
//this could be loaded from config file or other source
string connectString = "Server=123.123.1.23;Database=blah_users;Uid=blah_data;Pwd=blahblah;sslmode=none;";
string sql = "SELECT MAX(match_id) FROM `data_blah`";
using (var connect = new MySqlConnection(connectString))
using (var command = new MySqlCommand(sql, connect))
{
connect.Open();
return command.ExecuteScalar().ToString();
}
}
这应该可以做到
string sql = "SELECT MAX(match_id) FROM `data_blah`";
它不是应该是"'"而不是"`"围绕着"data_blah"吗?