Подстановка параметров Oracle с помощью инструкции ALTER USER - PullRequest
0 голосов
/ 10 мая 2019

Я получаю сообщение об ошибке при попытке подставить параметры с помощью оператора ALTER USER.

var cmdTxt = "ALTER USER :USER_NAME IDENTIFIED BY :NEW_PASS";

var cmd = new OracleCommand(cmdTxt, conn);
cmd.CommandType = CommandType.Text;
cmd.BindByName = true;

cmd.Parameters.Add("USER_NAME", OracleDbType.Varchar2, userName, ParameterDirection.Input);
cmd.Parameters.Add("NEW_PASS", OracleDbType.Varchar2, newPW, ParameterDirection.Input);

var ds = new DataSet();
var da = new OracleDataAdapter(cmd);

conn.Open();
da.Fill(ds); // << error ORA-01935: missing user or role name

Но в операторе SELECT все работало нормально.

var sql = "SELECT LOG_ID FROM ERR_LOG WHERE LOG_ID = :LOG_ID";

var cmd = new OracleCommand(sql, con);
cmd.CommandType = CommandType.Text;
cmd.BindByName = true;

cmd.Parameters.Add("LOG_ID", OracleDbType.Varchar2, Convert.ToInt64(number), ParameterDirection.Input);
var ds = new DataSet();
var da = new OracleDataAdapter(cmd);

con.Open();
da.Fill(ds); // no error
...