错误 1042 MySql C#?

gee*_*lot 0 c# mysql database connection console

我无法通过我的 C# cmd 连接到我的 MySql 数据库,它给我错误 1042 此代码来自: http ://social.msdn.microsoft.com/Forums/vstudio/en-US/67226fe6-175a-4f8b-96ab -a22fd836617f/使用-c将值插入到-mysql-

using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using MySql.Data.MySqlClient;

class MyClass
{
    public static void Main()
    {
        MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection();
        MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand();
        string SQL;

    conn.ConnectionString = "server=SERVER; userid=USER;password=PASSWORD;database=DATABASE;";
    try
         {
            conn.Open();
             MessageBox.Show("Files Inserted into database successfully!",
                    "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
             conn.Close();
        }
        catch (MySql.Data.MySqlClient.MySqlException ex)
        {
            MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message,
                "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
}
}
Run Code Online (Sandbox Code Playgroud)

更新 - 已解决 已解决 服务器名称是一个错误的网址,我使用 db4free.net 也许我的主机中的破折号是问题所在

spe*_*593 5

当 MySQL 服务器无法将客户端 IP 地址解析为主机名时,会报告 MySQL 错误 1042 (HY000)。

在我们的 MySQL 服务器上,我们禁用主机名解析,并使用 IP 地址。

如果您不想禁用主机名解析,则需要确保 MySQL 可以将您的客户端 IP 地址解析为主机名,方法是向 /etc/hosts 文件(在 MySQL 服务器主机上)添加适当的条目,或者将适当的条目添加到 DNS 服务器。

否则,您可以通过添加 MySQL 服务器配置文件的部分(并重新启动 MySQL 服务器)来禁用主机名skip-name-resolve解析[mysqld]注意:使用主机名定义的任何当前用户都将不可用,因为 MySQL 现在将查找(在 mysql.users 表中定义)形式的用户foo@192.168.1.33,而不是“ foo@tyrion”,并且 MySQL 不会找到匹配的。%(如果您的用户都是使用通配符作为主机名定义的,那么这不是问题。)