Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Erro Oracle.Dataaccess ORA-06502:PL/SQL:erro numérico ou de valor:buffer de cadeia de caracteres muito pequeno


Encontrou a resposta.

Para o parâmetro OUT eu declarei o tamanho máximo de varchar - 32767 e começou a funcionar.

Para simplificar, o proc armazenado retorna um parâmetro OUT do tipo VARCHAR2. Mas para consumir essa saída do .NET eu estava passando VARCHAR2 sem nenhum tamanho. Portanto, o espaço de buffer alocado para receber o valor de retorno foi de 0 bytes. Quando o proc retorna o valor mais do que o buffer alocado, que é 0 bytes, ele comete um erro.

Então eu especifiquei o máximo de VARCHAR2-32767 no código C# e começou a funcionar :).