Willkommen, Gast
Home › Foren › Nuclos Konfiguration › Reporting › iReport „Last Page Footer“ Datenbankverbindung nic
Crossposting: http://support.novabit.de/browse/NUCLOS-41
Ich mag es nicht, doppelt zu posten, aber vll kann ja hier jemand auch zur Lösung beitragen. U.U. ist es ja auch kein Fehler von Nuclos.
Wir nutzen iReports und dort massiv die Subreports.
Wir haben eine Datenquelle und binden im Abschnitt „Last Page Footer“ eines Reports Daten mittels eines Subreports ein. Bei der Ausführung läuft das auf einen Fehler (SQL Connection closed) und der entsprechende Report wird nicht ausgeführt.
Verschieben wir nun diesen Subreport in iReports z.B. in den „Page Footer“ funktioniert die Befüllung einwandfrei.
Der Fehler muss also darin liegen, das die Verbindung zur Datenbank bei der Ausführung des „Last Page Footer“ Abschnitts schon geschlossen ist.
Hallo Jan,
wir haben das gerade mal nachgestellt und konnten den Subreport problemlos im LastPageFooter einbinden.
Was für eine Version von iReport verwenden Sie ?
Viele Grüße,
Claudia M.
Ich verwende iReport 3.7.6 und habe bei der Kompatibilität habe ich 3.5.2-5.5.3 eingestellt. Ob dies noch nötigist weiss ich nicht, da sich ja in letzter Zeit sehr viel geändert hat.
Das nächste Reporting Problem. Ein Formular, designed in iReport 3.7.6, lässt sich problemlos hochladen und in der Vorschau betrachten … Wenn ich dieses dann über ein Modul drucken möchte, ist die Ausgabe eine leere Seite. Nichtmal die „statischen“ Elemente des Formulars werden ausgegeben.
Fehlermeldungen in den Logs tauchen auch nicht auf ….
Voran kann das liegen ? Wo kann ich noch nachforschen?
Bitte um schnelle Antwort!
Aufgrund des roblems mit dem leeren PDF habe ich nun mal den entsprechenen Report gelöscht und neu angelegt.
Bei der Neuanlage habe ich identische Version des jrxml verwendet, die bis dato funktionierte. Auch mit diesen Vorlagen erhalte ich eine korrekte Vorschau und keinen Fehle rbei der Anlage. Auch die Ausgabe funktioniert fehlerfrei nur leider wieder:
L E E R E S P D F !?!?
Ich kann mir darauf keinen Reim bilden.
Den Fehler bzgl. der leeren PDF Seite habe ich gefunden.
Werde nu noch einige Tests machen und wenn alles erfolgreich ist, hier meine Erfahrungen posten.
Leere PDF Seite hängt mit fehlenden Referenzen zusammen.
Dazu habe ich einen Bug eröffnet: http://support.novabit.de/browse/NUCLOS-42
Jetzt versuche ich nochmal das Last Page Footer Problem in den Griff zu kriegen.
Der „Last Page Footer“ Fehler liegt weiterhin reproduzierbar vor.
Folgende Fehlermeldung erscheint:
Fehlerklasse: org.nuclos.common2.exception.CommonFatalException
Fehlermeldung: java.sql.SQLException: Connection is closed.
Stack Trace:
org.nuclos.common2.exception.CommonFatalException: java.sql.SQLException: Connection is closed.
at org.nuclos.client.report.ReportDelegate.prepareReport(ReportDelegate.java:207)
at org.nuclos.client.report.reportrunner.ReportRunner.execute(ReportRunner.java:353)
at org.nuclos.client.report.reportrunner.ReportRunner.run(ReportRunner.java:295)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.nuclos.common.NuclosFatalException: java.sql.SQLException: Connection is closed.
at org.nuclos.server.report.JRDefaultNuclosDataSource.getData(JRDefaultNuclosDataSource.java:133)
at org.nuclos.server.report.JRDefaultNuclosDataSource.next(JRDefaultNuclosDataSource.java:168)
at net.sf.jasperreports.engine.fill.JRFillDataset.advanceDataSource(JRFillDataset.java:865)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:783)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1425)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:112)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:911)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:833)
at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:565)
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:63)
at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:209)
at java.lang.Thread.run(Thread.java:662)
at org.springframework.remoting.support.RemoteInvocationUtils.fillInClientStackTraceIfPossible(RemoteInvocationUtils.java:47)
at org.springframework.remoting.support.RemoteInvocationResult.recreate(RemoteInvocationResult.java:115)
at org.springframework.remoting.support.RemoteInvocationBasedAccessor.recreateRemoteInvocationResult(RemoteInvocationBasedAccessor.java:85)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:148)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy20.prepareReport(Unknown Source)
at org.nuclos.client.report.ReportDelegate.prepareReport(ReportDelegate.java:204)
... 3 more
Caused by: java.sql.SQLException: Connection is closed.
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:185)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createStatement(PoolingDataSource.java:215)
at org.nuclos.server.report.JRDefaultNuclosDataSource.getData(JRDefaultNuclosDataSource.java:119)
... 22 more
Hier komme ich nicht weiter.
Kann es vll damit zusammenhängen, das ich für mehrere Subreports ein und dieselbe Datenquelle verwende ?
Fehlerausgabe im log:
2011-01-27 17:30:35,678 ERROR [net.sf.jasperreports.engine.fill.JRFillSubreport] - Fill 26522055: exception
org.nuclos.common.NuclosFatalException: java.sql.SQLException: Connection is closed.
at org.nuclos.server.report.JRDefaultNuclosDataSource.getData(JRDefaultNuclosDataSource.java:133)
at org.nuclos.server.report.JRDefaultNuclosDataSource.next(JRDefaultNuclosDataSource.java:168)
at net.sf.jasperreports.engine.fill.JRFillDataset.advanceDataSource(JRFillDataset.java:865)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:783)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1425)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:112)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:911)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:833)
at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:565)
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:63)
at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:209)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: Connection is closed.
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:185)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.createStatement(PoolingDataSource.java:215)
at org.nuclos.server.report.JRDefaultNuclosDataSource.getData(JRDefaultNuclosDataSource.java:119)
... 11 more
Hallo Jan,
zum leeren PDF: liefert die Datenquelle Zeilen zurück ? Wenn nicht, kann das die Ursache sein. Leere Ergebnisse können nicht verarbeitet werden.
LastPageFooter: merkwürdig ist, dass der Subreport im PageFooter funktinoiert, aber im LastPageFooter nicht. Wir verwenden die ganz aktuelle Version von iReport (4), mit der funktioniert es. Haben Sie die Möglichkeit, ein Update zu machen ?
Viele Grüße,
Claudia M.
bzgl. der leeren PDFs prüfe ich morgen mal die Datenquelle.
Das Last Page Footer Problem besteht aber auch mit iReport 4. Dieser wird nur befüllt,wenn die Daten direkt im Hauptreport stehen. Wird im Hauptreport ein Subreport auf dem Last Page Footer Band positioniert, erscheint der Fehler. Der absolut identische Subreport auf anderen Bändern des Hauptreports funktioniert einwandfrei.
In dem Hauptreport haben wir insg. 3 Subreports eingebunden die alle auf die Gleiche „statische“ Datenquelle zugreifen.
1, im Title … wird befüllt
2. im Header …. wird befüllt
3. im Last Page Foter … Report crasht mit SQL Connection closed
Bei dem leeren Report lag es tatsächlich an der Datenquelle, die ein leeres Ergebnis lieferte.
Das Last Page Footer Problem habe ich nun mal mit einem neu erstellten Report erfolgreich nachstellen können.
Im Anhang der Hauptreport und der entsprechende Subreport, welcher z.B. im Title funktioniert, im „Last Page Footer“ wiederum nicht.
Was kann ich hier noch versuchen, um das Problem zu lösen ? [file name=report.gz size=1435]https://www.nuclos.de/media/kunena/attachments/legacy/files/report.gz[/file]
Hallo,
wir können das jetzt nachstellen und suchen nach einer Lösung. Bitte noch ein klein wenig Geduld 😉
Als Workarround könnten Sie übrigens den Subreport auch in den Page Footer integrieren und dann eine ensprechende PrintWhenExpression dazu schreiben, in der Sie sich den Variablen PAGE_COUNT und PAGE_NUMBER bedienen.
Viele Grüße,
Claudia M.
Du musst angemeldet sein, um auf dieses Thema antworten zu können.