MySqlConnection.Open 无限期挂起

Posted

技术标签:

【中文标题】MySqlConnection.Open 无限期挂起【英文标题】:MySqlConnection.Open hangs on indefinitely 【发布时间】:2017-06-29 11:06:31 【问题描述】:

我正在创建一个连接到 SQL 数据库的桌面应用程序。由于某种原因,我无法连接到数据库,连接无限期地挂起而没有给出错误(没有像它应该的那样超时)。我正在为我的数据库使用 XAMPP。我已经在谷歌上广泛搜索了我尝试过的问题,例如更改连接字符串和关闭防火墙。

这是我的代码:

string connectionString = "Server=localhost;Database=typewrite;Uid=root;Pwd=";

    public int signIn(string username, string password)
    
        int signinNum = -1;
        using (mysqlConnection conn = new MySqlConnection(connectionString))
        
            try
            
                conn.Open(); // here is the problem
            
            catch (MySqlException ex)
            
                Debug.WriteLine(ex.ToString());
                return signinNum;
            

            using (MySqlCommand cmd = conn.CreateCommand())
            
                try
                
                    cmd.CommandText = @"SELECT 'USER_id' WHERE USER_name = @name AND pass = @passw";
                    cmd.Parameters.AddWithValue("@name", username);
                    cmd.Parameters.AddWithValue("@passw", password);
                    MySqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    
                        signinNum = reader.GetInt32(0);
                    
                
                catch (MySqlException ex)
                
                    return signinNum;
                
            
        
        return signinNum;
    

我已经尝试过不同的变体,但没有占上风。我知道我应该使用 mutli thredding,这样它就不会停止我的应用程序,我想在进一步操作之前获得与数据库的连接。

除此之外,我之前也做过类似的事情,并且没有问题。

【问题讨论】:

永远不要将密码存储为纯文本 并没有真正解决问题,但我非常同意。 我知道我不打算将密码存储在平面文本中,这是仅用于测试连接的代码。 【参考方案1】:

我发现了它无法连接的原因,我必须为 xampp 数据库创建一个密码并将其放入我的连接字符串中。

【讨论】:

以上是关于MySqlConnection.Open 无限期挂起的主要内容,如果未能解决你的问题,请参考以下文章

UIRefreshControl 无限期挂起

svnadmin hotcopy 无限期挂起

使用 pytest 进行测试时,石墨烯查询无限期挂起

玩笑无限期挂起,不运行任何测试

NFS Persistent Volume Claim 无限期挂起

NodeJS 在多次请求后无限期挂起