无法使用c#连接到mysql服务器,但使用workbench没有问题

k2arahey  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(475)

我正忙着拔头发。感觉解决方案应该是显而易见的,或者/或者其他许多人也有同样的问题。但我找不到解决办法(可能是问不出正确的问题)。
问题:我无法使用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添加到连接字符串-没有更改

lkaoscv7

lkaoscv71#

好的,所以我用主机名替换了ip地址(我应该在几个小时前尝试过这个地址),它就可以工作了。所以出于某种原因,c#没有解析主机名。怀疑它可能与“van pc”中的“-”有关,因为另一台服务器的主机名中没有“-”。是的,我知道在我的代码示例中名称是不同的。

相关问题