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

ここを見てください:http://www.connectionstrings.com/mysql すべて持っています。

于 2012-08-29T19:42:17.837 に答える
1

ps

http://www.connectionstrings.com/mysql

おそらく、アプローチを変更する必要があります... webconfigまたはアプリ構成を使用して、構成から接続文字列をセットアップして読み取ります...

こちらもぜひ読んでいただきたい…

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

アップデート

更新された調査結果に基づいて... 2 つの問題が発生する可能性があります。最初に接続文字列を再確認し、次にユーザー「root」に必要なアクセス許可があるかどうかを確認します。

于 2012-08-29T19:41:12.853 に答える
0
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

問題はデータベースサーバーだと思います:

Server=xxx.no-ip.org

アプリがサーバーを見つけられないようです。ファイアウォールを確認します。

割り込みポイントをデバッグして設定し、番号だけでなく、スローされている例外を確認できます

于 2012-08-29T19:59:26.907 に答える