1

我想从 C# 连接到 mysql 服务器。我在网上找到了一些代码,但是某处有问题,因为我明白了

System.Data.dll 中出现“System.ArgumentException”类型的第一次机会异常

错误。

private void Initialise()
    {
        server = "dns to server";
        database = "db_name";
        uid = "root";
        password = "password";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" +
                            database + ";" + "UID=" +
                            uid + ";" + "PASSWORD=" + password + ";";
          OR
        connectionString = "Server=xxx.no-ip.org;Database=rdb;"+
                "Uid=root;Pwd=wHt2%Zt;";
        connection = new MySqlConnection(connectionString);
        if (this.OpenConnection() == true)
            Console.Out.Write("SUCCESS");
        else
            Console.Out.Write("ERROR");
    }

private bool OpenConnection()  {
            try   {
                connection.Open();
                return true;
            }
            catch (MySqlException ex){                    
                switch (ex.Number) {
                    case 0:
                        MessageBox.Show("Cannot connect to server.  Contact administrator");
                        break;    
                    case 1045:
                        MessageBox.Show("Invalid username/password, please try again");
                        break;
                }
                return false;
            }
        }

我在控制台上没有收到任何消息。我添加Mysql.Data为我的项目的参考,我使用using MySql.Data.MySqlClient;

我也通过gui尝试了connectig,但没有运气。想法?

编辑 1:使用任一连接字符串,我的程序仍然无法正常工作。

编辑 2:添加了 OpenConnection 方法。

编辑3:这是我得到的错误!

4

3 回答 3

1

ps

http://www.connectionstrings.com/mysql

可能您需要更改方法...使用 webconfig 或应用程序配置来设置和读取配置中的连接字符串...

我还建议您阅读此...

http://www.codeproject.com/Articles/12300/An-ASP-NET-Application-Using-a-MySQL-Database

更新

根据您更新的发现...可能有两个问题,首先仔细检查您的连接字符串,其次是检查用户“root”是否具有所需的权限。

于 2012-08-29T19:41:12.853 回答
1

看这里: http: //www.connectionstrings.com/mysql 都有。

于 2012-08-29T19:42:17.837 回答
0
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

我认为问题出在您的数据库服务器上:

Server=xxx.no-ip.org

您的应用似乎找不到服务器。检查防火墙。

您可以调试并设置中断点并检查它抛出的异常,而不仅仅是数量

于 2012-08-29T19:59:26.907 回答