Criei um relatorio no ireport, e gostaria de chamar este relatorio atraves de uma classe, fiz a classe com a seguinte estrutura, o arquivo pdf é criado, mas, nao consigo chama-lo com a classe, da o seguinte erro:
‘Erro 200 ! net.sf.jasperreports.engine.JRException: Error loading object from file : teste.pdf’
classe:
import java.sql.;
import net.sf.jasperreports.engine.;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
import java.util.*;
public class Teste
{
public Teste() throws JRException
{
try
{
Class.forName(“net.sourceforge.jtds.jdbc.Driver”);
System.out.println(“Driver carregado.”);
Connection con;
ResultSet rs;
String sql="";
con = DriverManager.getConnection("jdbc:jtds:sqlserver://128.1.0.14:1433/CPP2000", "sa", "");
sql=" SELECT * FROM TESTE";
Statement s = con.createStatement();
rs = s.executeQuery(sql);
gerarRelatorio(con, rs);
}
catch (ClassNotFoundException e1)
{
System.out.println("Drive nao encontrado");
}
catch (SQLException e)
{
System.out.println("Erro no SQL");
}
}
public void gerarRelatorio(Connection con, ResultSet resultSet) throws JRException
{
JRResultSetDataSource jrRS = new JRResultSetDataSource(resultSet);
JasperDesign design = JasperManager.loadXmlDesign("teste.xml");
HashMap parameters = new HashMap();
JasperPrint impressao = JasperManager.fillReport("classic.jasper",parameters,jrRS);
JasperExportManager.exportReportToPdfFile(impressao, "teste.pdf");
JasperViewer.viewReport("teste.pdf",false);
}
public static void main(String args[])
{
try
{
Teste teste = new Teste();
System.out.println("Teste 5000 FIM");
}
catch (JRException j)
{
System.out.println("Erro! "+ j.toString());
}
}
}