IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Exception lors de la génération d'un rapport en PDF


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut Exception lors de la génération d'un rapport en PDF
    Bonjour,

    j'ai le code suivant (pris dans la faq mais modifier pour être utilisé avec odbc) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
     
    import net.sf.jasperreports.engine.JRException;
    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.xml.JRXmlLoader;
     
    public class GeneratePDF {
     
        public static void main(String[] args) {
     
            // - Paramètres de connexion à la base de données
            String url = "jdbc:odbc:TEST";
            String login = "root";
            String password = "root";
            Connection connection = null;
     
            //chargement du pilote
            try {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException e) {
               System.out.println("Impossible de charger le pilote jdbc:odbc");
            }
     
            //Connexion à la base
            try {
            	connection = DriverManager.getConnection(url, login, password);
     
            	// - Chargement et compilation du rapport
            	JasperDesign jasperDesign = JRXmlLoader.load("D:\\iReport-1.3.3\\classic.jrxml");
            	JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
     
            	// - Paramètres à envoyer au rapport
            	Map parameters = new HashMap();
            	parameters.put("Titre", "Titre");
     
            	// - Execution du rapport
            	JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
     
            	// - Création du rapport au format PDF
            	JasperExportManager.exportReportToPdfFile(jasperPrint, "D:\\iReport-1.3.3\\classic.pdf");
            } catch (JRException e) {
     
            	e.printStackTrace();
            } catch (SQLException e) {
     
            	e.printStackTrace();
            }finally {
            	try {
            		connection.close();
            	} catch (SQLException e) {
     
            		e.printStackTrace();
            	}
            }	
        }
    }
    qui donne les exceptions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    1 juin 2007 15:53:11 org.apache.commons.digester.Digester fatalError
    GRAVE: Parse Fatal Error at line 32 column 27: The entity name must immediately follow the '&' in the entity reference.
    org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.commons.digester.Digester.parse(Digester.java:1647)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    	at GeneratePDF.main(GeneratePDF.java:38)
    net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:243)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    	at GeneratePDF.main(GeneratePDF.java:38)
    Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.commons.digester.Digester.parse(Digester.java:1647)
    	at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    	... 5 more
    J'aimerai savoir comment les corriger.

    Merci

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Flemme de compter: c'est laquelle, la ligne 32 de ton code source?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par CyberChouan
    Flemme de compter: c'est laquelle, la ligne 32 de ton code source?
    La ligne 32 est la ligne ou se trouve le commentaire ici (que j'ai ajouté)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //chargement du pilote
            try {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException e) {
               System.out.println("Impossible de charger le pilote jdbc:odbc");
            }
            //ici
            //Connexion à la base
            try {
                connection = DriverManager.getConnection(url, login, password);
           //...

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/09/2010, 11h54
  2. Réponses: 2
    Dernier message: 30/06/2010, 11h20
  3. Exception lors de la génération du PDF
    Par verbose dans le forum Jasper
    Réponses: 0
    Dernier message: 07/01/2010, 16h00
  4. Réponses: 18
    Dernier message: 21/04/2008, 04h15
  5. Réponses: 7
    Dernier message: 02/08/2006, 08h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo