Mudei minha classe, mas está dando erro, no ireport eu consigo gerar o relatório, funciona perfeitamente, minha classe:
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.supercred.consultas;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
public class Relatorio4
{
/* Driver do banco de dados, URL, usuário e senha do banco de dados */
static final String JDBC_DRIVER = “com.mysql.jdbc.Driver”;
static final String DATABASE_URL = “jdbc:mysql://localhost:3306/bd_supercred”;
static final String USER = “root”;
static final String PASSWORD = “root”;
/* Conecta-se ao banco de dados e retorna o objeto da conexão /
private static Connection getConnection() throws
ClassNotFoundException, SQLException
{
/ Carrega o driver do postgreSQL */
Class.forName(JDBC_DRIVER);
/* Cria um objeto de conexão */
Connection connection = DriverManager.getConnection(DATABASE_URL, USER, PASSWORD);
return connection;
}
/* Gera relatório /
public void gerarRelatorio() throws
JRException, Exception
{
/ Chama o método getConnection para obter um objeto Connection,
utiliza-o para obter um objeto Statement e realiza uma consulta
armazendo o resultado em um ResultSet
*/
Connection connection = getConnection();
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery(“SELECT * FROM banco;”);
/* Cria um JRResultSetDataSource com o resultado da consulta */
JRResultSetDataSource jrrs = new JRResultSetDataSource(result);
/* Cria um HashMap com parâmetros do relatório.
Caso não seja atribuído algum valor aos parâmetros estes
assumem o valor padrão.
*/
Map parametros = new HashMap();
/* Cria um arquivo .jrprint (relatório preenchido) utilizando o
Relatorio.jasper (design), os parâmetros e o
JRResultSetDataSource que é o resultado da consulta.
*/
JasperPrint jp = JasperFillManager.fillReport(“c:\bancos.jasper”, parametros, jrrs);
/* Exibe o relatório */
JasperViewer.viewReport(jp);
}
public static void main(String[] args) throws
JRException, Exception
{
new Relatorio4().gerarRelatorio();
}
}[/code]
Agora está dando seguinte erro:
11/10/2010 20:02:38 br.com.supercred.view.FormPMMG btnImprimirActionPerformed
SEVERE: null
net.sf.jasperreports.engine.JRException: Error loading object from file : c:\bancos.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at br.com.supercred.consultas.Relatorio4.gerarRelatorio(Relatorio4.java:69)
at br.com.supercred.view.FormPMMG.btnImprimirActionPerformed(FormPMMG.java:1102)
at br.com.supercred.view.FormPMMG.access$1900(FormPMMG.java:48)
at br.com.supercred.view.FormPMMG$11.actionPerformed(FormPMMG.java:884)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:87)
... 30 more