Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper > iReport
iReport Forum d'entraide sur iReport
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2011, 17h06   #1
Invité de passage
 
Inscription : février 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 34
Points : 4
Points : 4
Par défaut Impression d'un etat de sortie PDF

j'ai une classe java qui implémente la génération d'un PDF depuis un rapport mais lors de la compilation j'ai l'erreur:

net.sf.jasperreports.engine.JRException: Error executing SQL statement for : IdentificationDocumentPrintForm0
at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:141)
at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:656)
at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:588)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1196)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:833)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:782)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at com.oracle.jdbc.Driver.GeneratePDF.main(GeneratePDF.java:55)
Caused by: java.sql.SQLException: ORA-00900: invalid SQL statement

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4Call.receive(T4Call.java:742)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:212)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:951)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3284)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3328)
at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:135)
... 8 more


Voici ma classe java:

package com.oracle.jdbc.Driver;

import java.io.File;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

import com.lowagie.text.pdf.PdfWriter;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRPdfExporterParameter;
import net.sf.jasperreports.engine.xml.JRXmlLoader;

public class GeneratePDF {

private static File destFile;
private static String requete_sql;

public static void main(String[] args) {

// - Paramètres de connexion à la base de données

String url = "jdbc:oracle:thin:@192.168.200.201:1521:sipic";
String login = "sipic_web";
String password = "sipic";
Connection connection = null ;
String REQUETE_SQL;
REQUETE_SQL = "Select h.NUMERO_ETAT, MODELE, NBRE_PAGE, h.CODE_TRIBUNAL, h.NUM_RC, nvl(b.NBRE_PAGE_TOTAL, '0'),nvl(b.MATRICIEL, '0'), nvl(b.DOUBLON, '0') from etats_index b, etats_rc h where b.numero_etat = h.numero_etat and h.numero_etat >= 789000 and and h.numero_etat <= 790000;";
try {
// - Connexion à la base
Driver monDriver = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(monDriver);
connection = DriverManager.getConnection(url, login, password);

// - Chargement et compilation du rapport
JasperDesign jasperDesign = JRXmlLoader.load("F:\\iReport-3.0.0\\IdentificationDocumentPrintForm0.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

// - Paramètres à envoyer au rapport
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("SQL", "REQUETE_SQL");

// - Execution du rapport
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);

// - Création du rapport au format PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, "F:\\iReport-3.0.0\\IdentificationDocumentPrintForm0.pdf");

// - Protection du rapport au format PDF
// pdfExporter
// pdfExporter.setParameter (JRPdfExporterParameter.IS_ENCRYPTED, Boolean.TRUE);
// pdfExporter.setParameter(JRPdfExporterParameter.USER_PASSWORD, "jasper");
// pdfExporter.setParameter(JRPdfExporterParameter.OWNER_PASSWORD, "reports");
// pdfExporter.setParameter(JRPdfExporterParameter.PERMISSIONS new Integer(PdfWriter.AllowModifyContents));
//
//
// destFile = new File("F:\\iReport-3.0.0\\IdentificationDocumentPrintForm0.pdf");
// JRPdfExporter exporter = new JRPdfExporter();
// exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//
// exporter.setParameter(
// JRPdfExporterParameter.PERMISSIONS,
// new Integer(PdfWriter.AllowCopy | PdfWriter.AllowPrinting|PdfWriter.AllowScreenReaders)
// );
// exporter.exportReport();



} catch (JRException e) {

e.printStackTrace(); } catch (SQLException e) {

e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {

e.printStackTrace();
}
}
}
}

Avec la variable REQUETE_SQL qui récupère ma requête SQL.

Merci pour l'aide
saadtv4004 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h00.


 
 
 
 
Partenaires

Hébergement Web