0

これでデータベースに正常にログオンできます。

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 Webサイトの考えられる原因に関するページには、私の状況が含まれていません。

再接続に使用するコードは次のとおりです。

 connection = new MySqlConnection();
 connection.ConnectionString = (String)Properties.Settings.Default.Properties["ConnectionString"].DefaultValue;
 connection.Open();

そして、connectionStringはどちらの場合も間違いなく同じです。それは:

server=localhost;User Id=root;database=geysercontrol;password=password
4

1 に答える 1

0

私が思うに、永続的なセキュリティ情報=trueを接続文字列に追加します。

パスワード付きの接続文字列は入れませんが、私なら。Saveを呼び出すと、構成ファイルに公開されます。

于 2012-08-08T11:35:31.680 に答える