【发布时间】:2018-02-09 20:07:48
【问题描述】:
我写了这个方法,但是如果 "uid" 中有 ' 符号,它会抛出 System.ArgumentException。
public void Init(string constr)
{
var server = "a222068_6.mysql.mchost.ru";
var database = "'a222068_6'";
var uid = "'a222068_6'@'10.0.2.13'";
var pass = "pass";
constr = "SERVER=" + server + ";DATABASE=" + database + ";UID=" + uid + ";PASSWORD=" + pass + ";SSL Mode=None;";
cnt = new MySqlConnection(constr); // Exception is thrown here
}
在没有'的情况下尝试连接时出现异常消息
Authentication to host 'a222068_6.mysql.mchost.ru' for user 'a222068_6@10.0.2.13' using method 'mysql_native_password' failed with message: Access denied for user 'a222068_6@10.0.2.13'@'localhost' (using password: YES)
【问题讨论】:
-
您应该使用 MySqlConnectionStringBuilder 自动执行此操作。
-
在我看来,
";UID=\"" + uid + "\";PASSWORD="应该可以工作,但是如上所述,MySqlConnectionStringBuilder 类应该会自动修复潜在的引用问题。 -
不,它也不起作用。或者我可能以错误的方式使用 MySqlConnectionStringBuilder。
标签: c# mysql database connection database-connection