c# - 错误 1042 MySql C#?

标签 c# mysql database console connection

我无法通过 C# cmd 连接到我的 MySql 数据库,出现错误 1042 此代码来自: http://social.msdn.microsoft.com/Forums/vstudio/en-US/67226fe6-175a-4f8b-96ab-a22fd836617f/inserting-values-to-mysql-using-c

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);
        }
}
}

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

最佳答案

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

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

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

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

关于c# - 错误 1042 MySql C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965151/

相关文章:

javascript - 在服务器端缓存选择查询数据

c# - 将数据从 fragment 发送到 Activity android C#

c# - 如何动态填充图片框

c# - 异步 CTP,单元测试 ViewModel 的异步方法

java - JTable 中的乘法值

php - 在坏服务器上插入多个表失败

mysql - 查询 TEXT 列是否会导致创建临时表?

sql - oracle - to_Date 格式

C# 的 Convert.ToInt32(3) 转换为 51

mysql - SQL 缺少记录问题