Olá! Quando vou visualizar um relatorio Jasper dentro de minha aplicação me deprado com o seguinte erro:
net.sf.jasperreports.engine.JRException: Unknown column name : (nome da minha coluna)…
acontece que já verifiquei e o nome está CERTO! E funciona em um ambiente, e no servidor que meu cliente acessa não está funcionando.
Sugestões?
1- Você tem um field configurado com este nome de coluna?
2- Os nomes são case-sensitive, certifique-se de que não há diferença entre colunas do sql (se está partindo de um sql) e fields
3- Se os alias do seu sql estão em escritas em camelCase e você está mapeando os dados em um bean, existe uma grande possibilidade de estar tudo minúsculo no resultado.
É o que me vem na cachola agora…
Abraço!
Coloque um campo do tipo field no seu relatório com o nome deste que está acontecendo o erro, recompile e faça um teste
[quote=leoramos]1- Você tem um field configurado com este nome de coluna?
2- Os nomes são case-sensitive, certifique-se de que não há diferença entre colunas do sql (se está partindo de um sql) e fields
3- Se os alias do seu sql estão em escritas em camelCase e você está mapeando os dados em um bean, existe uma grande possibilidade de estar tudo minúsculo no resultado.
É o que me vem na cachola agora…
Abraço![/quote]
1- Sim, o field está com o mesmo nome e funciona no servidor de teste.
2- Ok, não há diferença
3- Minha query está no meu relatório.
Opa! Então espera aí: dá uma olhada na root cause da tua Exception.
Tenho uma suspeita de que esse erro só está dando porquê há erro no SQL antes (por falta de conexão, que seja). Sendo assim, ele não cria nenhuma coluna e dá esse erro por problemas no preenchimentos dos fields.
Dá uma olhada no teu dataSource, vê se isso a configuração de conexão já não ficou fixa no teu jrxml. Isso faria com que desse erro no endereçamento do datasource - não 100%, mas uma grande possibilidade de.
[quote=leoramos]Opa! Então espera aí: dá uma olhada na root cause da tua Exception.
Tenho uma suspeita de que esse erro só está dando porquê há erro no SQL antes (por falta de conexão, que seja). Sendo assim, ele não cria nenhuma coluna e dá esse erro por problemas no preenchimentos dos fields.
Dá uma olhada no teu dataSource, vê se isso a configuração de conexão já não ficou fixa no teu jrxml. Isso faria com que desse erro no endereçamento do datasource - não 100%, mas uma grande possibilidade de.[/quote]
Beleza, vou verificar e posto aqui! :>
Valeu
Tá certo
O dataSource está certo. O que me deixa mais bolado é que funciona no servidor de teste e em outro não funciona :?
O Endereço pro datasource também está certo? Tô achando muito estranho, cara, não vejo motivo pra isso não funcionar, pelo que tu me dizes.
Já pensei até em pedir pra tu recompilar teu jrxml e executar, pra ver se a versão do .jasper nos dois servers era a mesma.
[quote=leoramos]O Endereço pro datasource também está certo? Tô achando muito estranho, cara, não vejo motivo pra isso não funcionar, pelo que tu me dizes.
Já pensei até em pedir pra tu recompilar teu jrxml e executar, pra ver se a versão do .jasper nos dois servers era a mesma.[/quote]
Eu tenho classe que controla o pool, saca? Estou pegando a conexão através de um método chamado getConnection…
Pois é, estou a um tempão tentando resolver isso :oops:
Pior que já fiz vários relatórios… E tem vários funcionando neste servidor que não está funcionando agora.
Deve ser o mais obvio.
No seu servidor de testes vc tem o campo no banco de dados.
E no ambiente 2 vc nao deve ter atualizado o banco de dados.
[quote=TheKill]Deve ser o mais obvio.
No seu servidor de testes vc tem o campo no banco de dados.
E no ambiente 2 vc nao deve ter atualizado o banco de dados.[/quote]
Nops, como falei no início está lá.
Já executei a query diretamente em meu banco de dados que uso no ambiente de produção, onde está com o problema… E funcionou…
Agora o relatório, realmente não funciona!
A exception é do tipo net.sf.jasperreports.engine.JRException
Obrigado
Cara, podes postar teu sql e teu jrxml aqui?
Opa, resolvemos! :evil:
O que aconteceu foi na minha query, eu tinha uma função do tipo TO_CHAR(data, ‘DD/MM/YYYY’)
O campo estourou o limite de caracteres e ficava cortado, algo do tipo: TO_CHAR(data, 'DD/M
Este problema ocorria só em um ambiente por questões de configuração… Coloquei um alias e resolveu ¬¬
O maior problema foi os dois ambientes estarem diferentes, pois deveriam ser iguais…
vlw pela ajuda =D