Relatórios grandes com JasperReports

Eu estou fazendo relatórios usando o JasperReports mas alguns deles são muito grandes (12 mil páginas, por exemplo). O relatório demora pra caramba pra ser gerado e as vezes dá um out of memory error.

Teria como fazer uma espécie de stream, onde eu vá vendo as primeiras páginas e enquanto isso as outras são carregadas, ou ainda fazer com que os dados de uma página só sejam buscados quando essa página for acessada?

Obrigado.

[quote=David]Eu estou fazendo relatórios usando o JasperReports mas alguns deles são muito grandes (12 mil páginas, por exemplo). O relatório demora pra caramba pra ser gerado e as vezes dá um out of memory error.
[/quote]

David, uma pergunta: você tem certeza que quer gerar um relatório de 12 mil páginas? Isso não faz o menor sentido. Não tem como a pessoa usar isso. Isso me parece um problema conceitual muito maior que a sua pergunta.

Se você puder explicar a razão pela qual isso é necessário, aí posso ajudar.

Eu também acho um absurdo, mas… É um relatório de movimentação de bens da universidade. Eles precisam pra fazer auditorias, etc. Não me perguntem como eles usam porque eu não sei, hehehehe, mas é um dos relatórios que pediram pra incluir no sistema que estamos desenvolvendo!

Se tiver alguma solução melhor eu agradeço. Mas eu também gostaria de saber dessa maneira que eu falei também porque eu fiquei curioso e pode ser que eu precise algum dia… :slight_smile:

[quote=David]
Eu também acho um absurdo, mas… É um relatório de movimentação de bens da universidade. Eles precisam pra fazer auditorias, etc. Não me perguntem como eles usam porque eu não sei, hehehehe, mas é um dos relatórios que pediram pra incluir no sistema que estamos desenvolvendo![/quote]

Princípio básico do desenvolvimento de software: se você não entende como algo vai ser usado, não adianta fazer :slight_smile: Melhor conversar com o usuário para entender o caso de uso.

Provavelmente eles vão estar procurando algo específico, como o que ocorreu durante um certo período, ou com um certo item etc. Basta fazer com o que o relatório gerado atenda as essas condições com o nível de granularidade que eles precisam. Aí não vai gerar 12k páginas… (espero).

[quote=David]
Mas eu também gostaria de saber dessa maneira que eu falei também porque eu fiquei curioso e pode ser que eu precise algum dia… :)[/quote]

Não me lembro exatamente como o Jasper processa isso, mas se ele processar o report página a página você vai ter que adaptar um ou escrever seu próprio visualizador.

Ok. Eu vou verificar como exatamente eles querem esse relatório! Obrigado! :smiley: