Note that there are some explanatory texts on larger screens.

plurals
  1. POPassing a EJBQL request to my report as a parameter
    primarykey
    data
    text
    <p>I want to pass the ejbql Request to my report as parameter from my code java but many errors occurs </p> <p>this is my report:</p> <pre><code> &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;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="Test" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt; &lt;property name="ireport.zoom" value="1.0"/&gt; &lt;property name="ireport.x" value="0"/&gt; &lt;property name="ireport.y" value="0"/&gt; **&lt;parameter name="SQL" class="java.lang.String" &gt;** &lt;/parameter&gt; &lt;queryString language="ejbql"&gt; **&lt;![CDATA[$P{SQL}]]&gt;** &lt;/queryString&gt; &lt;background&gt; &lt;band splitType="Stretch"/&gt; &lt;/background&gt; &lt;title&gt; &lt;band height="79" splitType="Stretch"&gt; &lt;/band&gt; &lt;/title&gt; &lt;pageHeader&gt; &lt;band height="35" splitType="Stretch"/&gt; &lt;/pageHeader&gt; &lt;columnHeader&gt; &lt;band height="84" splitType="Stretch"&gt; &lt;/band&gt; &lt;/columnHeader&gt; &lt;detail&gt; &lt;band height="125" splitType="Stretch"&gt; &lt;/band&gt; &lt;/detail&gt; &lt;columnFooter&gt; &lt;band height="45" splitType="Stretch"/&gt; &lt;/columnFooter&gt; &lt;pageFooter&gt; &lt;band height="54" splitType="Stretch"/&gt; &lt;/pageFooter&gt; &lt;summary&gt; &lt;band height="42" splitType="Stretch"/&gt; &lt;/summary&gt; </code></pre> <p></p> <p>And this is my code :</p> <pre><code>public static void main(String[] args) { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("JiraMapPU"); EntityManager entityManager = entityManagerFactory.createEntityManager(); Map parameterMap = new HashMap(); parameterMap.put(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER, entityManager); String sql="select count(j.id) as nb from Jiraissue j where j.priority='3'"; parameterMap.put("SQL",sql); try { JasperReport report = JasperCompileManager.compileReport("C:/Documents and Settings/My Documents/NetBeansProjects/JiraMap/src/java/Reports/Test.jrxml"); JasperPrint print = JasperFillManager.fillReport(report,parameterMap); JasperExportManager.exportReportToPdfFile(print,"C:/Documents and Settings/My Documents/NetBeansProjects/JiraMap/src/java/Reports/Test.pdf"); } catch (JRException ex) { ex.printStackTrace(); } </code></pre> <p>The error :</p> <pre><code> Exception in thread "main" java.lang.IllegalArgumentException:An exception occurred while creating a query in EntityManager: Exception Description: Syntax error parsing the query [:SQL], line 1, column 0: unexpected token [:SQL]. Internal Exception: NoViableAltException(105@[]) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1378) at net.sf.jasperreports.engine.query.JRJpaQueryExecuter.createQuery(JRJpaQueryExecuter.java:153) at net.sf.jasperreports.engine.query.JRJpaQueryExecuter.createDatasource(JRJpaQueryExecuter.java:133) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:684) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:118) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435) at Reporting.ReportBean.main(ReportBean.java:42) Caused by: Exception [EclipseLink-8025] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.JPQLException Exception Description: Syntax error parsing the query [:SQL], line 1, column 0: unexpected token [:SQL]. Internal Exception: NoViableAltException(105@[]) at org.eclipse.persistence.exceptions.JPQLException.unexpectedToken(JPQLException.java:372) at org.eclipse.persistence.internal.jpa.parsing.jpql.JPQLParser.handleRecognitionException(JPQLParser.java:320) at org.eclipse.persistence.internal.jpa.parsing.jpql.JPQLParser.addError(JPQLParser.java:246) at org.eclipse.persistence.internal.jpa.parsing.jpql.JPQLParser.reportError(JPQLParser.java:363) at org.eclipse.persistence.internal.jpa.parsing.jpql.antlr.JPQLParser.document(JPQLParser.java:323) at org.eclipse.persistence.internal.jpa.parsing.jpql.JPQLParser.parse(JPQLParser.java:134) at org.eclipse.persistence.internal.jpa.parsing.jpql.JPQLParser.buildParseTree(JPQLParser.java:95) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:212) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:187) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.&lt;init&gt;(EJBQueryImpl.java:139) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.&lt;init&gt;(EJBQueryImpl.java:123) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1376) ... 9 more Caused by: NoViableAltException(105@[]) at org.eclipse.persistence.internal.jpa.parsing.jpql.antlr.JPQLParser.document(JPQLParser.java:270) ... 16 more Java Result: 1 </code></pre> <p><strong>UpDate</strong> How Could I display the nb field in my report?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload