Я хочу вызвать хранимую процедуру в Oracle, которая имеет CLOB в качестве выходного параметра. Я использую следующий код для вызова, но получаю ошибку -
var sql = @"DECLARE
l_clob CLOB;
l_inv_type nm_inv_types.nit_inv_type%TYPE := 'SULA';
BEGIN
xmrwa_inv_type_xml.get_inv_type_xml(pi_nit_inv_type => l_inv_type
,po_xml => l_clob
);
RETURNING l_clob INTO :key;
END;
";
var connString = string.Format(connectionString, OracleDBUser, OracleDBPassword);
using (var conn = new Oracle.ManagedDataAccess.Client.OracleConnection(connString))
using (var command = new Oracle.ManagedDataAccess.Client.OracleCommand(sql, conn))
{
conn.Open();
// make the :key parameter an output param
var p2 = command.Parameters.Add(":key", null);
p2.Direction = ParameterDirection.Output;
p2.OracleDbType = OracleDbType.Clob;
var v = command.ExecuteReader();
}
Ошибка Detais - ORA-06550: строка 8, столбец 39: PLS-00103: обнаружен символ «L_CLOB» при ожидании одного из следующих событий:
:= . ( @ % ;
Может ли кто-нибудь помочь мне с разрешением?