我写了这个方法,但是如果"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)发布于 2018-02-10 04:13:12
变化
var uid = "'a222068_6'@'10.0.2.13'";至
var uid = @"a222068_6@10.0.2.13";发布于 2018-02-10 04:14:23
逐字字符串文字以@开头,也用双引号括起来。
还有其他几个关于如何使用MySqlConnectionStringBuilder的StackOverflow答案,比如this one
var connectionStringBuilder = new MySqlConnectionStringBuilder
{
Server = "<instanceIp>",
UserID = "<userId>",
Password = "<password>",
Database = "<databaseName>",
CertificateFile = @"<Path_To_The_File>\client.pfx",
CertificatePassword = "<Password_For_The_Cert>"
};
var conn = new MySqlConnection(connectionStringBuilder.ToString())https://stackoverflow.com/questions/48713356
复制相似问题