Próbuję załadować obraz z bazy danych PostgreSQL do raportów ipersport jaspersoft (4.0), ale pojawia się błąd.Wyświetlanie obrazu w Ireports przy użyciu PostgreSql
W obrazie PostgreSQL jest przechowywany jako obiekt typu bytea. W raportach zmieniłem właściwość pola obrazu na java.io.InputStream
.
Po umieszczeniu obrazu w raporcie zostały ustalone następujące właściwości: klasa
Expression: java.io.InputStream
wyraz Obrazu: image field
Próbowałem też this samouczek do wyświetlania obrazów blob w iReport. Wyświetlane
jest następujący błąd:
Error filling print... Image read failed.
Setting up the file resolver...
net.sf.jasperreports.engine.JRException: Image read failed.
at net.sf.jasperreports.engine.util.JRJdk14ImageReader.readImage(JRJdk14ImageReader.java:73)
at net.sf.jasperreports.engine.util.JRImageLoader.loadImage(JRImageLoader.java:245)
at net.sf.jasperreports.engine.JRImageRenderer.getImage(JRImageRenderer.java:476)
at net.sf.jasperreports.engine.JRImageRenderer.getDimension(JRImageRenderer.java:512)
at net.sf.jasperreports.engine.fill.JRFillImage.fitImage(JRFillImage.java:1251)
at net.sf.jasperreports.engine.fill.JRFillImage.prepare(JRFillImage.java:1173)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:329)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:419)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2038)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:877)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Print not filled. Try to use an EmptyDataSource...
Czy możesz umieścić kod i szablon raportu? –
Używam edycji profesjonalnej ireports Stworzyłem tabelę w postgresie z następującymi kolumnami log -double lat -double obraz-bytea Szablon - pusty szablon A4 Następnie po umieszczeniu elementu raportu obrazu z palety na raporcie skonfigurowano wyrażenie graficzne i klasę wyrażenia (java.io.InputStream) Po uruchomieniu raportu wyświetla się komunikat o błędzie "Błąd wyświetlania strony raportu. Patrz konsola dla szczegółów." Błędy zostały zamieszczone powyżej w pytaniu. Ale gdy usuwam element obrazu z raportu, działa dobrze – 3502
po wyrażeniu wyrażenia obrazu? –