Home › Forum › Nuclos Konfiguration › Reporting › iReport „Last Page Footer“ Datenbankverbindung nic
- Dieses Thema hat 22 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 12 Jahre, 3 Monaten von
Jan Giebels.
-
AutorBeiträge
-
26 Januar 2011 um 13:05 Uhr #3113
Jan Giebels
TeilnehmerCrossposting: 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.
27 Januar 2011 um 12:18 Uhr #3117Claudia Mangstl
TeilnehmerHallo 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.27 Januar 2011 um 12:42 Uhr #3118Jan Giebels
TeilnehmerIch 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.
27 Januar 2011 um 17:36 Uhr #3121Jan Giebels
TeilnehmerDas 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!
27 Januar 2011 um 17:59 Uhr #3122Jan Giebels
TeilnehmerAufgrund 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.
27 Januar 2011 um 19:04 Uhr #3123Jan Giebels
TeilnehmerDen Fehler bzgl. der leeren PDF Seite habe ich gefunden.
Werde nu noch einige Tests machen und wenn alles erfolgreich ist, hier meine Erfahrungen posten.27 Januar 2011 um 19:35 Uhr #3124Jan Giebels
TeilnehmerLeere PDF Seite hängt mit fehlenden Referenzen zusammen.
Dazu habe ich einen Bug eröffnet: http://support.novabit.de/browse/NUCLOS-42Jetzt versuche ich nochmal das Last Page Footer Problem in den Griff zu kriegen.
27 Januar 2011 um 19:50 Uhr #3125Jan Giebels
TeilnehmerDer „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.
27 Januar 2011 um 20:12 Uhr #3126Jan Giebels
TeilnehmerKann es vll damit zusammenhängen, das ich für mehrere Subreports ein und dieselbe Datenquelle verwende ?
27 Januar 2011 um 20:36 Uhr #3127Jan Giebels
TeilnehmerFehlerausgabe 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
27 Januar 2011 um 21:01 Uhr #3128Claudia Mangstl
TeilnehmerHallo 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.28 Januar 2011 um 03:08 Uhr #3130Jan Giebels
Teilnehmerbzgl. 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 closed31 Januar 2011 um 17:56 Uhr #3144Jan Giebels
TeilnehmerBei dem leeren Report lag es tatsächlich an der Datenquelle, die ein leeres Ergebnis lieferte.
2 Februar 2011 um 16:18 Uhr #3148Jan Giebels
TeilnehmerDas 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]
Attachments:2 Februar 2011 um 16:44 Uhr #3150Claudia Mangstl
TeilnehmerHallo,
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. -
AutorBeiträge