我正忙着拔头发。感觉解决方案应该很明显或/和许多其他问题都存在相同的问题。但是我找不到解决方案(也许是缺少提出正确的问题)。
问题: 我无法使用C#代码连接到MySQL服务器。我没有使用相同代码(显然是不同的凭据)连接到另一台服务器的问题。而且我没有使用Workbench创建“问题”服务器的连接或服务器实例的问题。因此,这表明它不是服务器上的端口或权限问题。另外,它不能是代码或MysqlConnector问题,因为其他服务器没有问题。错误1042
代码:
MySqlConnection conn = null;
string newCnnStr = "server=Win10Server;User Id=root;password=LamePassword;Persist Security Info=True;database=payrolldb;convert zero datetime=true";
try
{
conn = new MySqlConnection(newCnnStr);
conn.Open();
txtTmpStatus.Text = "Connected";
return true;
}
catch (ArgumentException)
{
txtTmpStatus.Text = "Check the Server String";
}
catch (MySqlException ex)
{
switch (ex.Number)
{
case 1042:
txtTmpStatus.Text = "Unable to connect to the Server";
break;
case 0:
txtTmpStatus.Text = "Access denied";
break;
default:
break;
}
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
return false;
我也尝试将端口3306添加到连接字符串-不变
答案 0 :(得分:0)
好,所以我用主机名替换了IP地址(我应该在几个小时前尝试过),并且它可以正常工作。因此,出于某些原因,C#无法解析主机名。怀疑它可能与“ Van-PC”中的“-”相关,因为另一台服务器的主机名中没有“-”。是的,我知道我的代码示例中的名称是不同的。