【发布时间】:2018-11-02 07:12:51
【问题描述】:
我想将 HEX 字符串作为 参数 传递给 c# 程序中的 oracle 存储过程。存储过程以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();
目前,此代码无法工作。谁能给我建议如何正确地做到这一点。
【问题讨论】:
标签: c# oracle stored-procedures