return PL/SQL CLOB to C#

giovanna
09 de Diciembre del 2005
Hola a todos, estoy trabajando con Oracle9i y C#.net

Tengo un procedure PL/SQL que tiene como parametro IN de tipo Clob

Este valor es para actualizar un campo de tipo Clob de una tabla.

Mi codigo es el siguiente:

string Trama;

OracleConnection conn = new OracleConnection();
conn.ConnectionString = "...connection string...";

OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "sp_upd_titulo";
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("param1",OracleType.VarChar).Value = "param1value";
cmd.Parameters.Add("param2", OracleType.Clob).Value = Trama

try
{
conn.Open();
cmd.ExecuteNonQuery();

}
catch( OracleException oraex )
{
MessageBox.Show(oraex.Message);
}
finally
{
cmd.Dispose();
conn.Close();
conn.Dispose();
}

Mi procedure pl/sql es parecido a:

procedure sp_upd_titulo(param1 in varchar2, param2 in clob) is
begin

update mitable set campo = param2 where param = param1;

end sp_upd_titulo;


CUANDO LO EJECUTO ME SALE EL SIGUIENTE ERROR: ORA-22923: la cantidad de datos

especificada en la escritura en flujo de LOB es 0

QUE PUEDO HACER???

server142
09 de Diciembre del 2005
intentaste escribir el valor del LOB pero especificaste la entrada como cero, ests intentando escribir 0 bytes al LOB.
"que puedes hacer?" METERLE UN VALOR DIFERENTE DE 0 AL LOB JEJE

Giovanna
09 de Diciembre del 2005
Disculpa que sea novta en esto, pero no conozco muchos de este tipo de datos, y no s como meter el dato diferente que me dices