Análise de Código - Erro ao gerar o Relatório no Jasper

6 respostas
J
Oi Pessoal, por favor, me ajudem: onde esta o erro no cógigo abaixo? ando eu compilo não da nenhum erro, mas quando clico no botão "Gerar Relatório", aparece um monte de erro.
private static Connection getConnection( ) throws
				   ClassNotFoundException, SQLException
	{
		String driver = "oracle.jdbc.driver.OracleDriver";
		String url = "jdbc:oracle:thin:@IP: Porta:Nome TNS da Base";
		String user = "usuario da base";
		String password = "senha";

		Class.forName(driver);
		Connection con = DriverManager.getConnection( url, user, password );
		return con;
	}

	public void geraRelatorio() throws JRException, Exception
	{
		Connection con = getConnection( );
		Statement stm = con.createStatement( );
		String query = "select * from nome da tabela;";
		ResultSet rs = stm.executeQuery( query );

	/* implementação da interface JRDataSource para DataSource ResultSet */
	JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );

	/* HashMap de parametros utilizados no relatório. Sempre instanciados */
	Map parameters = new HashMap();
	// parameters.put("COLUNA", valor);

	/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
	JasperFillManager.fillReportToFile( "Chamados.jasper", parameters, jrRS );

	/* Exporta para o formato PDF */
	JasperExportManager.exportReportToPdfFile( "Chamados.jrprint" );

	/* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem a necessidade do .jrprint */
	//JasperRunManager.runReportToPdfFile("BibliotecaPessoal.jasper", parameters, jrRS);
	/* Visualiza o relatório em formato PDF */
	JasperViewer.viewReport( "Chamados.pdf", false );
	}
Pessoal, eu chamo esse código no botão "Gerar Relatório", conforme segue abaixo:
private JButton getBtn_relatorio() {
		if (btn_relatorio == null) {
			btn_relatorio = new JButton();
			btn_relatorio.setBounds(new Rectangle(716, 549, 121, 25));
			btn_relatorio.setText("Gerar Relatório");
			btn_relatorio.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
						try {
							geraRelatorio();
						} catch (JRException e1) {
							System.out.print("ERRO 1");// TODO Auto-generated catch block
							e1.printStackTrace();
						} catch (Exception e1) {
							System.out.print("ERRO 2");// TODO Auto-generated catch block
							e1.printStackTrace();
						}
					// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}

Se alguê puder me ajudar eu agradeço, ja estou um tempão tentando gerar esse maldito relatório e nada.....

Valeu Galera!!!!!!!!!!

Abs a todos!!!

6 Respostas

furutani

Qual é esse monte de erro?

J

Segue os erros:

ERRO 2java.sql.SQLException: ORA-00911: invalid character

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:241)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1477)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:677)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2285)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2525)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:717)
at myprojects.sasi.Consulta_Chamados.geraRelatorio(Consulta_Chamados.java:563)
at myprojects.sasi.Consulta_Chamados$4.actionPerformed(Consulta_Chamados.java:296)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Obrigado pela Ajuda!!!

Abs.

J

ESTOU DESESPERADO!!!

furutani

ORA-00911: invalid character
Isso é um erro do oracle.
Verifique o que voce esta mandando para ele.

J

Não sei onde pode estar o erro, rodeio o select no PL, usei a mesma string url ao abrir o Jasper separamente, sem nenhum erro.

Mais alguma pista?

Valeu.

J
Kra, encontrei o erro, tinha um campo null na tabela. Agora o erro é outro: ERRO 1java.io.FileNotFoundException: Chamados.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:270)

at myprojects.sasi.Consulta_Chamados.geraRelatorio(Consulta_Chamados.java:573)

at myprojects.sasi.Consulta_Chamados$4.actionPerformed(Consulta_Chamados.java:296)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Window.dispatchEventImpl(Window.java:1778)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Vc tem idéia do que seja?

Valeu!!

Abs!

Criado 7 de fevereiro de 2007
Ultima resposta 7 de fev. de 2007
Respostas 6
Participantes 2