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