Problema com CLOB

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Moloukos
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 54
Registrado em: Qui, 18 Set 2008 10:22 pm
Localização: São Paulo - SP
Moloukos Rox

Bom dia.

Tenho um campo que vai montando uma string do tipo CLOB:

Selecionar tudo

   V_TEXTO      CLOB;
Dentro de um for ele vai colocando informação nesse campo

Selecionar tudo

For 
V_TEXTO := V_TEXTO .......
Estou recebendo o seguinte erro

Selecionar tudo

Erro: ORA-06502: PL/SQL:erro numérico ou de valor
Vi que um campo é varchar2(100) e retorna esse tipo de informação:

Selecionar tudo

AMERICAN FLEX (2INX + 2TTW).
Como posso tratar para o campo CLOB receber esse tipo de informação e não dar o erro de numérico ou valor?

Agradeço desde já.
Moloukos
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 54
Registrado em: Qui, 18 Set 2008 10:22 pm
Localização: São Paulo - SP
Moloukos Rox

Corrigindo, na verdade não é a informação que esta quebrando e sim o tamanho do CLOB que esta sendo atingido.

Alguém tem alguma sugestão ou encontrou alguma saída para esse tipo de problema.

Algum tipo de campo maior?

Clob não suporta a quantidade de informação adicionada nele.
Moloukos
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 54
Registrado em: Qui, 18 Set 2008 10:22 pm
Localização: São Paulo - SP
Moloukos Rox

Resolvido.

Toda informação que a variável clob recebia eu converti para clob.

Exemplo:

Selecionar tudo

For 

V_TEXTO := V_TEXTO || To_clob(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
Fazendo isso ele manteve o v_texto como clob. Da outra forma eu não sei o porque ele estava assumindo que o campo v_texto era varchar2 e só deixava gravar 32767 caracteres.
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Olá Moloukos,

O problema não é estouro do limite do CLOB, pois o mesmo suporta até 4GB como você pode ver os limites dos tipos de dados aqui:
http://docs.oracle.com/cd/B19306_01/ser ... tm#i287903

O problema se deve a conversões implícitas que o Oracle faz.
Este link explica bem essas situações:
http://imaginarti.blogspot.com.br/2011/ ... -como.html
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes