Erro: character string buffer too small numérico ou de valor

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
Rafael_Santos
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 72
Registrado em: Sex, 18 Nov 2011 4:51 pm

Olá Caros,

estou usando um relatório clássico onde linkei um conteúdo para outra página onde o link envia uma outra coluna da tabela para um item (somente exibição) em outra pagina.
Porem algumas informações do relatório deixaram de existir e aparece esse erro e a informação não parece no item de destino.

Se vocês pudessem me ajudar, ficaria muito grato!

Atenciosamente,
Rafael Santos
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Rafael,

Você está desenvolvendo o relatório e o link com base nas ferramentas do APEX ou está tentando customizações, como a da sua consulta anterior?

O APEX é um bom ambiente de desenvolvimento desde que você use os objetos que ele oferece para você (relatórios, formulários, mapas, botões,etc).

Não creio que seja um ambiente adequado para "programações customizadas", como no caso da sua adaptação usando o script de comandos HTP (http://glufke.net/oracle/viewtopic.php?f=31&t=8187).

Talvez neste caso você corra o risco de tentar reinventar "reinventando a roda" (sem querer ofender).

Você poderia - por exemplo - criar uma pagina de RELATORIO e outra de FORMULÁRIO. O FORMULÁRIO deve estar associada a uma tabela, ou seja, cada um dos campos do relatório (ITEM) está relacionado com um campo da tabela. Depois, você pode criar no relatório um LINK, apontando para o formulário e usando algum campo chave para ser "trasnferido/informado" ao FORMULÁRIO, que por sua vez efetuará a pesquisa no banco e retornará as informações nos campos do formulário.

O próprio exemplo que vem com o APEX apresenta algumas situações como a que descreví. Pode ser difícil a princípio, mas bastaria você tentar repetir o exemplo para passar a entender mais sobre o código APEX.

Voltanto ao erro que você menciona, pode estar ocorrendo o estouro de um campo. Por exemplo, você está tentando apresentar o valor 3120 em uma variável do tipo NUMBER(3), que aceita valores até 999. Este mesmo problema poderia ocorrer em um campo do tipo texto (VARCHAR2).

Boa sorte,

Sergio Coutinho
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Rafael,

Esquecí de dizer:

A ORACLE oferece aos usuários o site http://apex.oracle.com, onde você pode criar gratuitamente um ambiente de desenvolvimento, que pode ser acessado de qualquer lugar da WEB.

O que acha de criar um ambiente neste site e colocar lá o seu código? Depois, você poderia convidar os foristas a ajudarem a você resolver o seu problema.

Abraços,

Sergio Coutinho
Rafael_Santos
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 72
Registrado em: Sex, 18 Nov 2011 4:51 pm

Olá Sergio,

estava customizando pelo fato de terem me pedido no trabalho, mas como o prazo encurtou eles preferiram realizar de forma mais simples.

O problema ocorreu pelo fato de ter colocado no link do relatório um valor muito grande, uma varchar2(4000), como esse método e enviado via get o valor não poderia ser armazenado sem perdas então decidi enviar o valor do código.

Consegui resolver o problema colocando um item oculto e fazendo com que o relatório enviasse para esse item o valor do código e fiz um outro item que pegasse a informação desejada usando o código inserido no item oculto.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Rafael,

Obrigado pelo seu feedback. Eu tive um problema parecido relacionado com campos CLOB. Creio que você passou agora para mim a solução do meu problema.

Abraços e obrigado !

Sergio Coutinho
Rafael_Santos
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 72
Registrado em: Sex, 18 Nov 2011 4:51 pm

Disponha Coutinho,

mas creio que você tem me ajudado mais!
Estou estagiando aqui no TCU em Brasilia, se quiser alguma coisa, ou se tiver algo que possa ajudar, e só falar!

Atenciosamente,

Rafael R
Responder
  • Informação
  • Quem está online

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