Я хочу передать строку HEX в качестве параметра в хранимую процедуру Oracle в программе c #. Хранимая процедура принимает varchar2
в качестве входного параметра. Поэтому мне нужно конвертировать HEX в RAW, а затем RAW в varchar2
. Идея показана в следующих кодах.
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText =
"call checking(utl_raw.cast_to_varchar2(hextoraw(:in_data)), :return_cde)";
cmd.Parameters.Add("in_data",
OracleDbType.Varchar2,
5000,
"000102030405060708090A0B0C0D",
ParameterDirection.Input);
cmd.Parameters.Add("return_cde",
OracleDbType.Varchar2,
8,
"OK",
ParameterDirection.InputOutput);
cmd.ExecuteNonQuery();
return_cde = cmd.Parameters["return_cde"].Value.ToString();
В данный момент этот код не может работать . Может ли кто-нибудь дать мне предложение о том, как я могу сделать это правильно.