Bom dia galera to com esse problema desde de ontem! eu fiz uma aplicação em java q gera um relatorio pelo ireport, até ai tudo bem
na maquina que eu fiz essa aplicação roda tudo certo, quando eu mundei de maquina e botei pra rodar a aplicação rodou beleza, mais na hora de chamar o relatorio ñ aparece nada
ve em uns posts q pode ser o caminho, mais na duvida vou mostar o codigo todo! segue:
Codigo que abrir o relatorio
[code]
InputStream inputStream = getClass().getResourceAsStream("/RelatoriosViews/BuscaCliente.jasper");
// mapa de parâmetros do relatório
Map parametros = new HashMap();
parametros.put("cliente", id);
try {
// abre o relatório
ReportUtils.openReport("Clientes", inputStream, parametros,
ConnectionFactory.getSakilaConnection());
// Visualiza o relatório em formato PDF */
// JasperViewer.viewReport("idCliente.pdf", false);
} catch (SQLException exc) {
exc.printStackTrace();
} catch (JRException exc) {
exc.printStackTrace();
}[/code]
Aqui a conexão:
[code]package RelatoriosViews;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
/*
* Este bloco estático será executado assim que esta classe for carregada,
* sendo assim, será executado apenas uma vez.
*/
static {
try {
/*
* Carrega a classe com.mysql.jdbc.Driver, que é a implementação do
* driver JDBC para o MySQL.
*/
Class.forName("com.mysql.jdbc.Driver");
// caso a classe não seja encontrada
} catch (ClassNotFoundException exc) {
exc.printStackTrace();
}
}
/**
* O método getConnection retorna uma conexão com o banco de dados baseado
* nos parâmetros fornecidos.
*
* @param url O endereço da base de dados.
* @param usuario O usuário que tem permissão na base de dados especificada.
* @param senha A senha do usuário especificado
* @return Uma conexão com o banco de dados especificado na url.
* @throws SQLException Caso ocorra algum problema durante a conexão.
*/
public static Connection getConnection(
String url,
String usuario,
String senha) throws SQLException {
// retorna a conexão a partir do método getConnection de DriverManager
return DriverManager.getConnection(url, usuario, senha);
}
/**
* Obtém uma conexão para a base de dados sakila.
*
* @return Uma conexão para a base de dados sakila.
* @throws SQLException Caso ocorra algum problema durante a conexão.
*/
public static Connection getSakilaConnection() throws SQLException {
return getConnection(
"jdbc:mysql://localhost/ivelbanco",
"root",
"458621");
}
}[/code]
Aqui trata o relatorio:
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package RelatoriosViews;
import java.awt.BorderLayout;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Map;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.swing.JRViewer;
/**
- Classe com métodos utilitários para executar e abrir relatórios.
*/
public class ReportUtils {
/**
* Abre um relatório usando uma conexão como datasource.
*
* @param titulo Título usado na janela do relatório.
* @param inputStream InputStream que contém o relatório.
* @param parametros Parâmetros utilizados pelo relatório.
* @param conexao Conexão utilizada para a execução da query.
* @throws JRException Caso ocorra algum problema na execução do relatório
*/
public static void openReport(
String titulo,
InputStream inputStream,
Map parametros,
Connection conexao) throws JRException {
/*
* Cria um JasperPrint, que é a versão preenchida do relatório, usando
* uma conexão.
*/
JasperPrint print = JasperFillManager.fillReport(
inputStream, parametros, conexao);
// abre o JasperPrint em um JFrame
viewReportFrame(titulo, print);
}
/**
* Abre um relatório usando um datasource genérico.
*
* @param titulo Título usado na janela do relatório.
* @param inputStream InputStream que contém o relatório.
* @param parametros Parâmetros utilizados pelo relatório.
* @param dataSource Datasource a ser utilizado pelo relatório.
* @throws JRException Caso ocorra algum problema na execução do relatório
*/
public static void openReport(
String titulo,
InputStream inputStream,
Map parametros,
JRDataSource dataSource) throws JRException {
/*
* Cria um JasperPrint, que é a versão preenchida do relatório, usando
* um datasource genérico.
*/
JasperPrint print = JasperFillManager.fillReport(
inputStream, parametros, dataSource);
// abre o JasperPrint em um JFrame
viewReportFrame(titulo, print);
}
/**
* Cria um JFrame para exibir o relatório representado pelo JasperPrint.
*
* @param titulo Título do JFrame.
* @param print JasperPrint do relatório.
*/
private static void viewReportFrame(String titulo, JasperPrint print) {
/*
* Cria um JRViewer para exibir o relatório. Um JRViewer é uma JPanel.
*/
JRViewer viewer = new JRViewer(print);
// cria o JFrame
JFrame frameRelatorio = new JFrame(titulo);
// adiciona o JRViewer no JFrame
frameRelatorio.add(viewer, BorderLayout.CENTER);
// configura o tamanho padrão do JFrame
frameRelatorio.setSize(500, 500);
// maximiza o JFrame para ocupar a tela toda.
frameRelatorio.setExtendedState(JFrame.MAXIMIZED_BOTH);
// configura a operação padrão quando o JFrame for fechado.
frameRelatorio.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// exibe o JFrame
frameRelatorio.setVisible(true);
}
}[/code]
Se alguem poder me ajudar, agradeço desde de já!