Erro bisonho no Oracle Forms


Esses dias eu estava lutando com o Forms 6i da Oracle que em um determinado aplicativo sempre exibia o seguinte erro:

ORA-01403: no data found

Ou seja, não foram encontrados dados. Quem já trabalha com Oracle (PL/SQL em particular) sabe que tal erro é disparado quando uma select ou algum outro recurso que não foi tratado adequadamente com uma exception não retorna dados no array de retorno (fetch).

Porém ao debugar esse Forms eu notei que todos os recursos de consulta retornavam dados e todos estavam sendo tratados com a exception no_data_found, era virtualmente improvável que o Forms disparasse aquele erro.

Foi então que comecei a pesquisar o tamanho das variáveis, foi nesse ponto que notei que uma variável number(4) era alimentada pelos dados de um campo de determinada tabela onde o mesmo era um number(5).

Então percebi que o Forms que já estava em produção a meses só passou a apresentar o erro naquele ponto (mesmo com o tratamento da exception) funcionou porque nunca a variável tinha sido preenchida com os dados do banco em mais de 4 posições, nunca até semana passada.

Foi só compatibilizar o tamanho da variável do Forms para o tamanho igual ao que estava no banco de dados que o problema foi resolvido.

Tomara que alguém da Oracle leia o post e melhore as mensagens de erro, iria facilitar muito a vida, principalmente de desenvolvedores iniciantes.


Descubra mais sobre ViamaisBLOG

Assine para receber nossas notícias mais recentes por e-mail.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.