В моем файле app.config у меня есть эта connctionString по умолчанию с именем DBEntities1, которая имеет доступ только для чтения (из-за идентификатора пользователя: appUser ) в базе данных:
<connectionStrings>
<add name="DBEntities1" connectionString="metadata=res://*/DBModel1.csdl|res://*/DBModel1.ssdl|res://*/DBModel1.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=appUser;password=pass;database=db"" providerName="System.Data.EntityClient" />
</connectionStrings>
но в моей программе я попытался изменить идентификатор пользователя и пароль , изменив и повторно использовав одну и ту же строку подключения, чтобы получить полный доступ к базе данных, например:
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["DBEntities1"];
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(settings.ToString());
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(entityBuilder.ProviderConnectionString);
sqlBuilder.UserID = "sosso";
sqlBuilder.Password = "password";
entityBuilder.ProviderConnectionString = sqlBuilder.ToString();
String newConnectioStrings = entityBuilder.ToString();
using(EntityConnection connection = new EntityConnection(newConnectionStrings))
{
connection.Open();
DBEntities1 context = new DBEntities1();
client c = new client();
c.table_client = 1;
c.idClient = 0;
context.client.Add(c);
context.SaveChanges();
connection.Close();
}
но похоже, что программа все еще использует старые строки подключения со старым идентификатором пользователя и возвращает ошибку в контексте. SaveChanges ();Метод изречения:
MySqlException: команда INSERT запрещена для пользователя: 'appUser' @ '@ localhost' в таблице 'client'.
ПОЖАЛУЙСТА как я могу заставить программу использовать новые строки подключения ??????