我必须继续开发一个Web应用程序,但我发现了这个错误,但我不知道如何修复它。当我单击生成pdf时,它会调用以下函数:
public void crearPDF(Integer idProyecto, Usuarios usuario, String email, Boolean archivoDoc, Locale locale) throws SQLException
{
System.err.println("Entrando en crearPDF");
//String ruta = "\\\\SERVER\\producción\\PDFAPP\\" + usuario.getNombre() + "\\";
String ruta = "/home/pdfapp/" + usuario.getNombre() + "/";
Integer versionProyecto;
File rutaFile = new File(ruta);
JRPdfExporter exp = new JRPdfExporter();
JRPdfExporter exp2 = new JRPdfExporter();
JRDocxExporter expD = new JRDocxExporter();
Connection conn = null;
if(!rutaFile.exists()){
rutaFile.mkdirs();
}
MailUtil mUtil = new MailUtil();
String nombreProyecto;
FacesContext context = FacesContext.getCurrentInstance();
//LOCALIZACIÓN DE INFORMES
//Si no viene especificado por el administrador, extraer el idioma del contexto (establecido en función del usuario)
//Genera el ResourceBundle que le pasaremos por parámetro
ResourceBundle rb = ResourceBundle.getBundle("com.appglass.jasper.resources.report", locale);
//Introducimos los parámetros necesarios
HashMap <String, Object> map = new HashMap <String, Object>();
map.put("rutaImagenes", (Object) rutaImagenes);
map.put("idProyecto", (Object) idProyecto);
map.put("archivoDoc", (Object) archivoDoc);
map.put(JRParameter.REPORT_LOCALE,locale);
map.put(JRParameter.REPORT_RESOURCE_BUNDLE, rb);
try{
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
//Nuevo para conseguir session.connection() en hibernate 4.x
SessionFactoryImpl sessionFactory = (SessionFactoryImpl) session.getSessionFactory();
conn = sessionFactory.getConnectionProvider().getConnection();
//session.connection() fue borrado en hibernate 4.x
//conn = session.connection();
/*JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "Deja Vu Sans");
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params);
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFileName); */
InputStream reporte = (InputStream) getClass().getResourceAsStream("/com/appglass/jasper/report2.jasper");
InputStream reporte2 = (InputStream) getClass().getResourceAsStream("/com/appglass/jasper/report2_subreport1B.jasper");
InputStream reporte3 = (InputStream) getClass().getResourceAsStream("/com/appglass/jasper/report2_subreport2B.jasper");
InputStream reporte4 = (InputStream) getClass().getResourceAsStream("/com/appglass/jasper/report2_plano.jasper");
InputStream reporte5 = (InputStream) getClass().getResourceAsStream("/com/appglass/jasper/report2_resumen.jasper");
// Path completo C:/Users/pool/Documents/NetBeansProjects/AppGlass/src/java
if ((reporte == null) || reporte2 == null || reporte3 == null || reporte4 == null){
System.err.println("No se ha encontrado el archivo .jasper");
}
System.err.println("Antes de llamar a JasperFillManager.fillReport");
JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, map, conn); //HERE THERE IS A PROBLEm<---------------------------------------------------------------
System.err.println("Report1 done");
JasperPrint jasperPrint2 = JasperFillManager.fillReport(reporte2, map, conn);
JasperPrint jasperPrint3 = JasperFillManager.fillReport(reporte3, map, conn);
JasperPrint jasperPrint4 = JasperFillManager.fillReport(reporte4, map, conn);
JasperPrint jasperPrint5 = JasperFillManager.fillReport(reporte5, map, conn);
System.err.println("Antes de llamar a JasperViewer.viewReport");
//Para exportar el PDF al cliente
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
List list = new ArrayList();
list.add(jasperPrint4);
list.add(jasperPrint5);
list.add(jasperPrint);
list.add(jasperPrint2);
list.add(jasperPrint3);
if(!archivoDoc){
exp.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, list);
exp2.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, list);
exp.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
exp.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
}
nombreProyecto = queryGetNombreProyecto(conn, idProyecto);
versionProyecto = queryGetVersionProyecto(conn, idProyecto);
if(!archivoDoc){
//Fijamos como salida un fichero en SERVER
exp2.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, ruta + nombreProyecto + "(" + (versionProyecto + 1) + ").pdf");
exp2.setParameter(JRPdfExporterParameter.METADATA_AUTHOR, usuario.getNombre());
exp2.setParameter(JRPdfExporterParameter.METADATA_TITLE, nombreProyecto);
exp2.exportReport();
} else {
expD.setParameter(JRDocxExporterParameter.JASPER_PRINT_LIST, list);
//Fijamos como salida un fichero en SERVER
expD.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, ruta + nombreProyecto + "(" + (versionProyecto + 1) + ").doc");
//Fijamos como salida la un fichero en el servidor remoto
expD.exportReport();
}
//Enviamos el mail de confirmación con el informe adjunto
mUtil.confirmacionInforme(email, usuario, nombreProyecto, archivoDoc, versionProyecto + 1);
//Fijamos como salida el lector de PDF del navegador
if(!archivoDoc){
response.setHeader("Content-Type", "application/pdf; charset=UTF-8");
response.setHeader("Content-disposition", "attachment; filename*=UTF-8\'\'" + URLEncoder.encode(nombreProyecto, "UTF-8") + ".pdf");
exp.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
exp.exportReport();
}
session.getTransaction().commit();
//conn.commit();
}catch(SQLException sqlEx){
System.err.println("Error creando el PDF");
System.err.println(sqlEx.getClass());
System.err.println(sqlEx.getCause());
System.err.println(sqlEx.getMessage());
}
catch (HibernateException ex)
{
System.err.println("Error creando el PDF");
System.err.println(ex.getClass());
System.err.println(ex.getCause());
System.err.println(ex.getMessage());
} catch (JRException ex) {
System.err.println("Error creando el PDF");
System.err.println(ex.getClass());
System.err.println(ex.getCause());
System.err.println(ex.getMessage());
} catch (IOException ex) {
System.err.println("Error creando el PDF");
System.err.println(ex.getClass());
System.err.println(ex.getCause());
System.err.println(ex.getMessage());
} finally {
if(conn != null){
conn.close();
}
}
System.err.println("Antes de responseComplete");
FacesContext.getCurrentInstance().responseComplete();
}
错误的堆栈:
Severe: log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
Severe: log4j:WARN Please initialize the log4j system properly.
Severe: class net.sf.jasperreports.engine.JRException
Severe: java.sql.SQLException: No database selected
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885)
at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:642)
at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:239)
at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1073)
at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:667)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1253)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:877)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:407)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:824)
at com.appglass.jasper.Reportes.crearPDF(Reportes.java:245)
at com.appglass.backing.ProyectoAgregadoBacking.crearPDF(ProyectoAgregadoBacking.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:813)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
Severe: Error executing SQL statement for : report2
Severe: Antes de responseComplete
report2.jrxml
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report2" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="0" resourceBundle="com.appglass.jasper.resources.report.properties" uuid="70977800-585f-4d11-94b6-26a37538935c">
<property name="ireport.zoom" value="1.3636363636363635"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="56"/>
<style name="table">
<box>
<pen lineWidth="1.0" lineColor="#000000"/>
</box>
</style>
<style name="table_TH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="table_CH" mode="Opaque" backcolor="#BFE1FF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<style name="table_TD" mode="Opaque" backcolor="#FFFFFF">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
</box>
</style>
<subDataset name="Table Dataset 1" uuid="836bbd96-4049-40fd-be32-86fc2832a1d2"/>
<parameter name="idProyecto" class="java.lang.Integer">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["com/appglass/jasper/"]]></defaultValueExpression>
</parameter>
<parameter name="rutaImagenes" class="java.lang.String"/>
<parameter name="archivoDoc" class="java.lang.Boolean">
<defaultValueExpression><![CDATA[false]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[SELECT
usuarios.`nombre` AS usuarios_nombre,
proyectos.`nombreProyecto` AS proyectos_nombreProyecto,
proyectos.`fecha` AS proyectos_fecha,
proyectos.`version` AS proyectos_version,
secciones.`tipoPuertaIzquierda` AS secciones_tipoPuertaIzquierda,
secciones.`tipoPuertaDerecha` AS secciones_tipoPuertaDerecha
FROM
`secciones` secciones INNER JOIN `proyectos` proyectos ON secciones.`id_proyecto` = proyectos.`id` INNER JOIN `usuarios` usuarios ON proyectos.`id_usuario` = usuarios.`id`
WHERE
proyectos.id = $P{idProyecto}]]>
</queryString>
<field name="usuarios_nombre" class="java.lang.String"/>
<field name="proyectos_nombreProyecto" class="java.lang.String"/>
<field name="proyectos_fecha" class="java.sql.Date"/>
<field name="proyectos_version" class="java.lang.Integer"/>
<field name="secciones_tipoPuertaIzquierda" class="java.lang.Integer"/>
<field name="secciones_tipoPuertaDerecha" class="java.lang.Integer"/>
<variable name="pEspecial1" class="java.lang.Integer" calculation="System">
<variableExpression><![CDATA[]]></variableExpression>
<initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
<variable name="pEspecial2" class="java.lang.Integer" calculation="System">
<variableExpression><![CDATA[]]></variableExpression>
<initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
<variable name="rutaImagen1" class="java.lang.String">
<variableExpression><![CDATA["images\\"]]></variableExpression>
</variable>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="97" splitType="Stretch">
<textField>
<reportElement uuid="169e3810-2e48-4eea-94c9-64162d754b44" x="170" y="32" width="279" height="20"/>
<textElement>
<font fontName="DejaVu Sans" size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{proyectos_nombreProyecto}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="683e06eb-b374-4ca0-8ee5-c80eb252da49" x="121" y="59" width="100" height="20"/>
<textElement textAlignment="Right">
<font fontName="DejaVu Sans"/>
</textElement>
<textFieldExpression><![CDATA[new SimpleDateFormat("dd/MM/yyyy ").format($F{proyectos_fecha})]]></textFieldExpression>
</textField>
<image>
<reportElement uuid="b4ecda02-fa51-45b5-8ee8-c999a48e9051" x="438" y="0" width="99" height="96"/>
<imageExpression><![CDATA[$P{SUBREPORT_DIR} + $P{rutaImagenes} + "logoreport.jpg"]]></imageExpression>
</image>
<textField>
<reportElement uuid="296afbcb-3d7f-4653-8287-92e582927039" x="21" y="32" width="149" height="20"/>
<textElement>
<font fontName="DejaVu Sans" size="14"/>
</textElement>
<textFieldExpression><![CDATA[$R{general.resumenproy} + ":"]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement uuid="b8d89e63-7c47-4c80-92cc-5cdfccb8c35d" x="21" y="59" width="100" height="20"/>
<textElement>
<font fontName="DejaVu Sans"/>
</textElement>
<textFieldExpression><![CDATA[$R{general.fechacrea} + ":"]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="683e06eb-b374-4ca0-8ee5-c80eb252da49" x="537" y="1" width="17" height="13"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{proyectos_version} + ($P{archivoDoc} ? "*" : "")]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="22" splitType="Stretch">
<textField>
<reportElement uuid="0234364a-ef1b-4456-b3a4-d4d693b3c595" x="21" y="0" width="235" height="22"/>
<textElement>
<font fontName="DejaVu Sans" size="12" isBold="true" isUnderline="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cristal.titulo}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="50" splitType="Immediate">
<subreport>
<reportElement uuid="88eb3e2c-c5ec-4a37-839e-7db3c0042d68" stretchType="RelativeToBandHeight" isPrintRepeatedValues="false" x="21" y="0" width="534" height="50" isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[new Boolean($V{REPORT_COUNT}.intValue() ==1)]]></printWhenExpression>
</reportElement>
<subreportParameter name="REPORT_LOCALE">
<subreportParameterExpression><![CDATA[$P{REPORT_LOCALE}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="SUBREPORT_DIR">
<subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="idProyecto">
<subreportParameterExpression><![CDATA[$P{idProyecto}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="REPORT_RESOURCE_BUNDLE">
<subreportParameterExpression><![CDATA[$P{REPORT_RESOURCE_BUNDLE}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<returnValue subreportVariable="pEspecial1" toVariable="pEspecial1"/>
<returnValue subreportVariable="pEspecial2" toVariable="pEspecial2"/>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report2_cristalA.jasper"]]></subreportExpression>
</subreport>
</band>
<band height="51" splitType="Immediate">
<subreport>
<reportElement uuid="3a84aa6f-11a5-41d4-bdc6-2d28a1b425ad" isPrintRepeatedValues="false" mode="Transparent" x="21" y="0" width="534" height="50" isRemoveLineWhenBlank="true" isPrintInFirstWholeBand="true">
<printWhenExpression><![CDATA[new Boolean($V{REPORT_COUNT}.intValue() ==1) && (($V{pEspecial1} > 0) || ($V{pEspecial2} > 0))]]></printWhenExpression>
</reportElement>
<subreportParameter name="REPORT_LOCALE">
<subreportParameterExpression><![CDATA[$P{REPORT_LOCALE}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="SUBREPORT_DIR">
<subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="idProyecto">
<subreportParameterExpression><![CDATA[$P{idProyecto}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="REPORT_RESOURCE_BUNDLE">
<subreportParameterExpression><![CDATA[$P{REPORT_RESOURCE_BUNDLE}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report2_cristalB.jasper"]]></subreportExpression>
</subreport>
</band>
</detail>
<summary>
<band height="287" splitType="Immediate">
<image scaleImage="FillFrame" evaluationTime="Report">
<reportElement uuid="d9af6aa4-b640-4c0f-81b0-aca30c23ea02" isPrintRepeatedValues="false" mode="Transparent" x="59" y="23" width="111" height="223" isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[($V{pEspecial1} > 0)]]></printWhenExpression>
</reportElement>
<imageExpression><![CDATA[$P{SUBREPORT_DIR} + $P{rutaImagenes} + "puertapomo.jpg"]]></imageExpression>
</image>
<image scaleImage="FillFrame" evaluationTime="Report">
<reportElement uuid="a0a422b4-8c27-4d73-a5bb-4724f091b48e" isPrintRepeatedValues="false" x="221" y="23" width="111" height="223" isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[($V{pEspecial2} > 0)]]></printWhenExpression>
</reportElement>
<imageExpression><![CDATA[$P{SUBREPORT_DIR} + $P{rutaImagenes} + "pcerradura2.jpg"]]></imageExpression>
</image>
<textField evaluationTime="Report">
<reportElement uuid="8837a7fd-db0e-40ef-9e65-eff14bc16e69" isPrintRepeatedValues="false" x="59" y="246" width="111" height="17" isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[($V{pEspecial1} > 0)]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center">
<font fontName="DejaVu Sans"/>
</textElement>
<textFieldExpression><![CDATA[$R{cristal.tipo1}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="cb7abd52-2136-4f6d-8b3b-df6e8679ede7" isPrintRepeatedValues="false" x="221" y="246" width="111" height="17" isRemoveLineWhenBlank="true">
<printWhenExpression><![CDATA[($V{pEspecial2} > 0)]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center">
<font fontName="DejaVu Sans"/>
</textElement>
<textFieldExpression><![CDATA[$R{cristal.tipo2}]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>
错误的堆栈明确指出:java.sql.SQLException:未选择数据库,但数据库运行良好。应用程序的其他方法可以在DB(MySQL)中选择和插入数据。所以我猜问题是在JasperReports配置中。有没有人知道发生了什么?谢谢!
答案 0 :(得分:2)
我发现了问题。我在服务器(glassfish)中有这个
"URL"="jdbc:mysql://localhost:3306/"
但我应该改为:
"URL"="jdbc:mysql://localhost:3306/databasename"
现在效果很好。