Saltar al contenido

ORA-06502: PL/SQL: error numérico o de valor: carácter string excepción de búfer demasiado pequeña del código C#

Presta atención porque en este tutorial vas a encontrar la solución que buscas.Este post fue probado por nuestros expertos para garantizar la calidad y veracidad de nuestro contenido.

Solución:

Está funcionando para mí ahora. El error es que he declarado un parámetro “Id” como varchar2. pero no le di ningún tamaño a eso. Ahora he declarado el tamaño máximo al parámetro y funciona bien.

 cmd_chk.Parameters.Add("id", OracleDbType.Varchar2,32767).Direction = ParameterDirection.Output;

Enfrentó el mismo problema al declarar el valor de salida como Varchar2. Agregar un Tamaño property to Parameter resolvió el problema.

command.CommandType = CommandType.StoredProcedure;
command.CommandText = "function_name";    
command.Parameters.Add(new OracleParameter
                        
                            ParameterName = "result",
                            Size = 1,
                            Direction = ParameterDirection.ReturnValue,
                            OracleDbType = OracleDbType.Varchar2
                        );

Otra cosa extraña con la que nos encontramos en relación con esto es con las funciones de Oracle, para el parámetro especial ParameterDirection.ReturnValue (*** todo el resto de ParameterDirection funcionará)

si lo calcas como abajo, directamente en el constructor NO funciona:

cmd.Parameters.Add(new OracleParameter("myretval", OracleDbType.Long, 10, ParameterDirection.ReturnValue));

Resultado en error como:

ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-01403: no data found
ORA-06512: at line 1

si lo declaras asi funciona:

OracleParameter retval = (new OracleParameter("myretval", OracleDbType.Long, 10);
            retval.Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.Add(retval);

valoraciones y reseñas

Nos puedes añadir valor a nuestra información añadiendo tu veteranía en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *