我可以使用以下方法成功登录数据库:
MySqlConnection conn = new MySqlConnection();
MySqlConnectionStringBuilder connString = new MySqlConnectionStringBuilder();
connString.Server = textEditServer.Text;
connString.UserID = "root";
connString.Password = textEditServerPassword.Text;
connString.Database = "geysercontrol";
conn.ConnectionString = connString.ConnectionString;
try
{
conn.Open();
Properties.Settings.Default.Properties["ConnectionString"].DefaultValue = conn.ConnectionString;
conn.Close();
}
catch (MySqlException)
{
XtraMessageBox.Show("No connection could be established");
}
但是当我尝试使用ConnectionString属性重新连接不同的类时,我得到一个MySQLException说
Access denied for user 'root'@'localhost' (using password: NO)
可能的原因是什么? MySQL网站上关于可能原因的页面不包括我的情况。
我用来重新连接的代码是:
connection = new MySqlConnection();
connection.ConnectionString = (String)Properties.Settings.Default.Properties["ConnectionString"].DefaultValue;
connection.Open();
在两种情况下,connectionString肯定是相同的。它是:
server=localhost;User Id=root;database=geysercontrol;password=password
答案 0 :(得分:0)
将persist security info = true添加到我认为的连接字符串中。
如果是我,虽然我不会在其中添加密码。如果您曾经调用过Save,它将在配置文件中公开。