2013-06-19 10 views
5

im eine jrxml-Datei pdf zu exportieren versuchen, aber ich bekomme diese Fehlermeldung:Die mitgelieferte java.sql.Connection Objekt ist null

WARN query.JRJdbcQueryExecuter - The supplied java.sql.Connection object is null. 

erhalte ich nur eine leere PDF-Datei ..

Diese ist meine Methode, um PDF zu exportieren:

public void printReport(ActionEvent event) throws JRException, IOException { 

     String reportPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/test.jrxml"); 
     JasperReport report = JasperCompileManager.compileReport(reportPath); 
     JasperPrint jasperPrint = JasperFillManager.fillReport(report, new HashMap<String, String>()); 
     HttpServletResponse httpServletResponse = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); 
     httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.pdf"); 
     ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream(); 
     JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream); 
     FacesContext.getCurrentInstance().responseComplete(); 
    } 

ich mit Jasper neu bin, so dass ich ein wenig verloren bin .. muss ich die Verbindungszeichenfolge angeben Datenbank oder was de? und wo sollte ich es hinzufügen.

Übrigens verwende ich JSF 2, Intellij und Maven.

danke.

Antwort

9

Ich löste mein Problem .. Ich musste eine DB-Verbindung für meinen Bericht angeben!

Connection conn; 
     try { 
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
     conn = DriverManager.getConnection("jdbc:sqlserver://localhost:55334;databaseName=Frutemu;integratedSecurity=true","",""); 
     } catch (SQLException ex) { 
     } catch (ClassNotFoundException ex) { 

     } 

und dann in dieser Zeile die Verbindung hinzufügen:

JasperPrint jasperPrint = JasperFillManager.fillReport(report, new HashMap<String, String>(), conn); 
+0

Danke. Das funktioniert :) –

Verwandte Themen