Переменная OUTPUT (изображение) в C#

Я пытаюсь создать JSON из Datatable (вывод процедуры Oracle). Эта процедура в Oracle извлекает запись из таблицы, одним столбцом которой является CLOB. Я использую OracleClient Reference для подключения ADO. Ниже приведен код для извлечения данных из Oracle.

  OracleDBUtil objOracleDBUtil = new OracleDBUtil(System.Configuration.ConfigurationManager.ConnectionStrings["conetionStr"].ToString());

        OracleParameter[] oracleParameter = new OracleParameter[] { new OracleParameter("P_USER_ID", OracleType.VarChar, 200), 
            new OracleParameter("EMAIL_ID",  OracleType.VarChar, 2000), 
            new OracleParameter("PHONE", OracleType.VarChar, 2000), 
            new OracleParameter("P_IMAGE", OracleType.Clob), 
            new OracleParameter("P_ERROR", OracleType.VarChar,2000) ,
            new OracleParameter("P_OUT", OracleType.VarChar,2000) 
        };


        OracleParameter[] oracleParameterArray = oracleParameter;
        oracleParameterArray[0].Value = userid;
        oracleParameterArray[1].Direction = ParameterDirection.Output;
        oracleParameterArray[2].Direction = ParameterDirection.Output;
        oracleParameterArray[3].Direction = ParameterDirection.Output;
        oracleParameterArray[4].Direction = ParameterDirection.Output;
        oracleParameterArray[5].Direction = ParameterDirection.Output;
        DataSet ds = new DataSet();
        OracleCommand oraCommand = new OracleCommand();
         oraCommand = objOracleDBUtil.GetOracleCommand("PKG_CARPEDIEM.GET_USER_PROFILE", oracleParameterArray);
      drProfData["EMAIL_ID"] = Convert.ToString(oraCommand.Parameters[1].Value.ToString());
      drProfData["PHONE"] = Convert.ToString(oraCommand.Parameters[2].Value.ToString());
        OracleLob clobData = (OracleLob)oraCommand.Parameters[3].Value;
         drProfData["IMAGE"] = (String)clobData.Value;

Процедура работает нормально, я получаю Email и телефон в качестве вывода. После

OracleLob clobData = (OracleLob)oraCommand.Parameters[3].Value; 

Этот оператор обрабатывает clobData следующим образом:

Также, когда я пытаюсь переместить clobData в drProfData["Image"]Я получаю ошибку:

Неверная операция. Соединение закрыто.

0 ответов

Другие вопросы по тегам