【发布时间】:2012-08-29 19:38:36
【问题描述】:
我想从 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 进行连接,但没有运气。想法?
编辑 1:使用任一连接字符串,我的程序仍然无法运行。
编辑 2:添加了 OpenConnection 方法。
【问题讨论】:
-
你能显示 OpenConnection() 的代码吗?也尝试将“PASSWORD=”更改为“Pwd="
-
问题已编辑。我的程序没有那么远。我认为我的问题在于 connection = new MySqlConnection(connectionString) 这部分。
-
如果您将引发异常的行包装在 try catch 块中,您将获得有关引发异常的原因的更多信息。也尝试改变我在第一篇文章中所说的内容。
-
问题出在我的设置上。第一个问题:我的密码包含一个分号。第二个问题:我的服务器不接受远程登录。我还没有测试我的代码,但我今晚会测试它。非常感谢您的想法。
标签: c# mysql database-connection