【问题标题】:C# MySql connection cannot find hostC# MySql 连接找不到主机
【发布时间】:2010-08-26 10:27:35
【问题描述】:

我有一个连接到 MySql 数据库的 java 程序,它工作正常。 现在我想将其转换为 C# 程序,但我不断收到错误“无法连接到任何指定的主机”。

我已经遵循了以下解决方案:

  1. Connect to MySql with C#
  2. C# MySqlConnector
  3. Configure the ODBC DNS
  4. 并且对 MySql.Data 的引用已添加到项目中。

这是连接数据库的代码:

string connectionString = string.Format(
 "SERVER={0}; DATABASE={1}; UID={2}; PASSWORD={3};",
 "jdbc:mysql://" + host + ":" + port, dbName, userName, password);

// Prepare connecting to the database.
myConn = new MySqlConnection(connectionString);

MySqlCommand command = myConn.CreateCommand();
command.CommandText = @"SELECT * FROM table_name";

myConn.Open(); // <- MySqlException: Unable to connect to any of the specified MySQL hosts.
MySqlDataReader reader = command.ExecuteReader();

List<string> exampleStore = new List<string>();
while (reader.Read())
{
    // Just an example for storing data.
    exampleStore.Add(reader.GetString(0));
}

java版本连接到与我这里使用的相同值的同一台服务器,所以请不要建议检查服务器是否在线。 所以问题一定出在我的C#代码中,我注意到Class.forName("com.mysql.jdbc.Driver").newInstance ();

在java代码中。似乎驱动程序在这里被激活,也许 C# 需要做一些我缺少的类似的事情?

编辑:所以连接字符串应该是: string connectionString = string.Format("SERVER={0}; DATABASE={1}; Port={2}; UID={3}; PASSWORD={4}; ", 主机, dbName, 端口, 用户名, 密码));

从 java 版本中使用了一些额外的元素,不认为它们会导致这些问题。谢谢大家的帮助。

【问题讨论】:

  • 您是否尝试过更改连接字符串?试试这个:"Data Source=" + Server_IP + ";" + "User ID=" + Username + ";" + "Password=" + Password + ";"
  • 感谢您的建议,尝试过但同样的错误,虽然在显示错误之前需要更长的时间。还尝试指定 > "Database=" + dbName

标签: c# mysql


【解决方案1】:

标准连接字符串是: Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;.

请注意,端口是单独指定的,端口=1234,不在服务器字段中。此外,从服务器字段的开头删除jdbc:mysql:,因为它特定于 JDBC 驱动程序;使用普通的 URI 字符串。不需要其他任何东西。

【讨论】:

    【解决方案2】:

    您的连接字符串错误。

    试试:

    string connectionString = string.Format("SERVER={0}; DATABASE={1}; Port={2}; UID={3}; PASSWORD={4};", host, dbName, port, userName, password));
    

    【讨论】:

    • 感谢这项工作:),我将 alex 标记为答案,因为他是第一个并解释了它。
    猜你喜欢
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 2013-08-02
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多