Cfjasperreport


#1

I am using the <cfjasperreort> tag but I can’t find any examples of how to configure it to access data from a mySQL datasource. Does anyone know how to do this?


#2

The tag will gladly accept a query attribute, e.g.:

<jr:jasperreport
           jrxml="#template#"
           exportfile="#filename#"
           query="#qData#"
           reportparams="#reportparams#"
           forceDownload="false"
           exporttype="pdf"
      />

#3

I am using:

<jr:jasperreport jrxml=“C:\lucee\webapps\ROOT\simple_blue.jrxml”

query=“select id, name, countrycode, district, population from cityw here 1=1”
driver = ‘mysql’
username = ‘super’
password = ‘XXXXXXXX’
host = ‘localhost’
database = ‘world’
port = ‘3306’
jdbc_driver = ‘com.mysql.jdbc.Driver’
jdbc_url = ‘jdbc:mysql://localhost/world’
jdbc_dir = ‘C:\jasperstarter\jdbc’
exportfile=“C:\lucee\webapps\ROOT\simple_blue.pdf”
exporttype=“pdf”

/>

but it throws a:

The serializer class ‘org.apache.xml.serializer.ToXMLStream’ does not implement org.xml.sax.ContentHandler.

C:\lucee\webapps\ROOT\cfjasperreport\tags\cfjasperreport\cfc\jasperreport.cfc: line 293
291: var classpath = system.getProperty(“java.class.path”);
292: var daTitle = daJRXML.jasperReport.xmlAttributes.name;
293: var daXM = toString(daJRXML);
294: var xmlBuffer = getLibraryLoader().create(“java.lang.String”).init(daXM).getBytes();
295: var xmlInputStream = getLibraryLoader().create(“java.io.ByteArrayInputStream”).init(xmlBuffer);

It appears I have a mismatch in my jar files. Any ideas how to fix this?


#4

Ok, fixed my jars but now I get the report but no detail, Just the headers.


#5

Ok, working now with:

<jr:jasperreport jrxml=“C:\lucee\webapps\ROOT\simple_blue.jrxml”

query="select id, name, countrycode, district, population from city" 
datasource="world"
exportfile="C:\lucee\webapps\ROOT\simple_blue.pdf" 
exporttype="pdf"

/>


#6

Jasper expects the contents of the query attribute to be a ready-to-use query object (sorry, wasn’t clear in my previous post) like this:

<cfquery name="qData" datasource="world">
  select id, name, countrycode, district, population from city
</cfquery>
<jr:jasperreport
           jrxml="#template#"
           exportfile="#filename#"
           query="#qData#"
           reportparams="#reportparams#"
           forceDownload="false"
           exporttype="pdf"
      />

Hope this helps.


#7

Hi Lutz,

Very clear now, thanks very much for the help.

Jim