Witam,
Mam problem z wykonaniem procedury na bazie MySql MariaDB. W innej metodzie mam użyty SELECT i bez problemu pobiera dane z bazy, ale z wykonaniem procedury jest problem. Bilioteka jaką używam to:
using MySqlConnector;
Dodam, że użytkownik ma pełne uprawnienia.
Błąd komunikatu to: MySqlConnector.MySqlException: 'SELECT command denied to user 'user1'@'tu jest ip' for table 'proc''
Błąd pojawia się w linijce
cmd.ExecuteNonQuery();
private void LogowanieMariaDB()
{
try
{
using (MySqlConnection con = new MySqlConnection(sql))
{
try
{
using (MySqlCommand cmd = con.CreateCommand())
{
DateTime dataiczas = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new MySqlParameter("p_OP", "logowanie"));
cmd.Parameters["p_A_OPERACJA"].Direction = ParameterDirection.Input;
cmd.Parameters.Add(new MySqlParameter("p_OPIS", "Logowanie użytkownika do systemu."));
cmd.Parameters["p_A_OPIS"].Direction = ParameterDirection.Input;
cmd.Parameters.Add(new MySqlParameter("p_DATA", dataiczas));
cmd.Parameters["p_A_DATAICZAS"].Direction = ParameterDirection.Input;
cmd.Parameters.Add(new MySqlParameter("p_IDENT", txtNazwa.Text.ToString()));
cmd.Parameters["p_U_IDENTYFIKATOR"].Direction = ParameterDirection.Input;
cmd.CommandText = "ZALOGUJ";
con.Open();
cmd.ExecuteNonQuery();
}
con.Close();
}
catch (Exception ex)
{
DisplayAlert("Błąd", "Błąd wykonania procedury " + ex.Message, "OK");
}
}
}
catch (Exception ex)
{
DisplayAlert("Błąd", "Błąd połączenia z bazą danych " + ex.Message, "OK");
}
}