بتاريخ: 11 فبراير 20214 سنة comment_301413 السلام عليكم عندي مشكلة فى الكود اللي بيعمل run للتقارير انه بيسيب connection to database مفتوحه وبعد فتح 10 تقارير مش بيفتح تقارير تاني وده الكود اللي شغال بيها public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PreparedStatement st = null; String amDef = "STORE1.AppModuleSTORE1Impl"; String config = "AppModuleSTORE1Local"; AppModuleSTORE1Impl am = (AppModuleSTORE1Impl)Configuration.createRootApplicationModule(amDef, config); st = am.getDBTransaction().createPreparedStatement("select 1 from dual", 0); Connection conn = null; String reportName = request.getParameter("rn"); String id = request.getParameter("id"); try { conn = st.getConnection(); } catch (SQLException e) { // TODO: Add catch code System.out.println("error 1 getDBTransaction jasper : " + e.getMessage()); } InputStream input = new FileInputStream(new File(getServletConfig().getServletContext().getRealPath("/Reports/" + reportName + ".jrxml"))); JasperDesign design = null; try { design = JRXmlLoader.load(input); } catch (JRException e) { // TODO: Add catch code System.out.println("error 2 JasperDesign JRXmlLoader : " + e.getMessage()); } JasperReport report = null; try { report = JasperCompileManager.compileReport(design); report = (JasperReport)JRLoader.loadObject(input); report.setWhenNoDataType(WhenNoDataTypeEnum.NO_DATA_SECTION); } catch (JRException e) { // TODO: Add catch code System.out.println("error 3 JasperReport JasperCompileManager.compileReport No Data : " + e.getMessage()); } // Set Parm Map parm = new HashMap(); parm.put("pr1", id); // DeptNo Name Parm Jasper Report JasperPrint jasperPrint = null; try { jasperPrint = JasperFillManager.fillReport(report, parm, conn); } catch (JRException e) { // TODO: Add catch code System.out.println("error 4 JasperPrint JasperFillManager.fillReport : " + e.getMessage()); } // System.out.println("Report Created..."); OutputStream ouputStream = response.getOutputStream(); // Report PDF Format response.setContentType("application/pdf"); response.setHeader("Cache-Control", "max-age=0"); JRExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream); try { exporter.exportReport(); } catch (JRException e) { System.out.println("error 6 JRExporter exporter formats : " + e.getMessage()); throw new ServletException(e); } finally { if (ouputStream != null) { try { ouputStream.flush(); ouputStream.close(); } catch (IOException ex) { System.out.println(ex.getMessage()); throw (ex); } } } // /jasperservlet?rn=allData&id=0 // /jasperservlet?rn=parm&id=value // /jasperservlet?rn=#{requestContext.rightToLeft ? 'report arabic' : 'report english'}&id=0 } } تقديم بلاغ
بتاريخ: 11 فبراير 20214 سنة كاتب الموضوع comment_301414 تم الحل تم وضع conn.close(); داخل try تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.