Переменная 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"]
Я получаю ошибку:
Неверная операция. Соединение закрыто.