【问题标题】:MySQL Connector won't openMySQL 连接器不会打开
【发布时间】:2011-12-24 01:51:51
【问题描述】:

我在这里有一个应该是微不足道的测试,它顽固地拒绝工作。在“打开”时抛出异常“无法连接到任何指定的 MySQL 主机”。

MySQL.Data 版本为 6.4.4.0,在我的 Visual Studio 项目中被引用,该项目构建时没有错误。 MySQL 是 V 5.5.16。该测试是使用带有 Windows 窗体的 Visual Studio 2008 构建的,并通过按钮启动,

我在 Windows XP 和 Windows 7 的不同机器上都试过这个。我从 the documentation 允许使用 PASSWORD、PWD、UID、用户名、用户名、SERVER、HOST 以及连接字符串中关键字的多种变体,我已经尝试了所有这些,但同样缺乏成功。

我确信我的用户名、密码和主机名是正确的。我可以使用相同的用户名和密码通过命令行连接到我的本地 MySQL 数据库。

using MySql.Data.MySqlClient;
// and the ususal MS stuff...
     private void ToMySQL()
            {                
                MySqlConnection myCon = new MySqlConnection("DataSource=Localhost;Username=root;Password=xxxx;database=data_xxx");        
                try
                {
                    myCon.Open();
                    MessageBox.Show("OK");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

这些事情通常被证明是微不足道的,但如果是这样的话,它是如此微不足道,以至于我看不到。

我错过了什么?

Edit-Addendum:到目前为止的答案有一个例外(npi)重复了失败的内容。如果问题是环境问题,我该去哪里找?

【问题讨论】:

  • 您是否尝试过 Server= 而不是 DataSource=?我通常会在 here 中找到连接字符串的好结果。
  • @ssamuel 我查看了该站点和其他 30 个站点。如果您仔细阅读我的问题,您会发现我确实尝试了 SERVER 以及其他替代方案。我怀疑问题出在其他地方。

标签: c# .net mysql visual-studio database-connection


【解决方案1】:

试试这个连接字符串 -

User Id=<user_name>;Host=<host_name>;Port=<3306>;Database=<db_name>;Password=<your_password>

更改所有 <...> 值。

【讨论】:

  • 不高兴。例外:“输入字符串的格式不正确。”为什么你认为它可能有效?
  • 我们在代码中使用这个字符串(对于类似的组件 - MySQL 的 dotConnect)。看看这个链接(它可能会有所帮助) - dev.mysql.com/doc/refman/5.0/es/…
  • 也可能是连接错误。尝试用mysql命令行工具-dev.mysql.com/doc/refman/5.5/en/mysql.html连接;或使用 dbForge Studio for MySQL。
  • 正如我在原始问题中所说,我可以通过命令行可靠地连接。
  • 你能不能连接到另一个 MySQL 服务器(低版本)?
猜你喜欢
  • 2014-07-24
  • 1970-01-01
  • 2013-06-15
  • 2020-04-04
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多