Servoy Version: 6.0.10 - build 1240
Jaspersoft Studio 6.6.2.final
Jasper Plug-In 5.0.0 a2
JRE build 1.7.0_71-b14
Sybase SQL 11
We designate financial ‘periods’ using the following string form: ‘yyyy/mm’ (e.g. ‘2014/12’ is December 2014).
When sending these periods as arguments to Jasper Reports (note the second SQL WHERE clause below), we keep getting the following error message:
com.sybase.jdbc3.tds.SybTimestamp
Wrapped net.sf.jasperreports.engine.JRException: Class not found when loading object from InputStream
In Jaspersoft Studio (preview mode), the following baseline SQL query works and emits no error message:
SELECT * FROM billing_census
JOIN billing_census_summary ON billing_census.census_summary_id = billing_census_summary.census_summary_id
JOIN billing_census_counts ON billing_census_summary.census_id = billing_census_counts.census_count_id
WHERE census_period IN ( '2013/08','2013/09','2013/10','2013/11','2013/12' )
ORDER BY census_pi_name ASC, census_fund_number ASC
Parametizing the WHERE clause (per the Jaspersoft Studio User Guide, Section 8.3.3):
SELECT * FROM billing_census
JOIN billing_census_summary ON billing_census.census_summary_id = billing_census_summary.census_summary_id
JOIN billing_census_counts ON billing_census_summary.census_id = billing_census_counts.census_count_id
WHERE $X{IN, census_period, ARM_REPORT_PERIOD_RANGE}
ORDER BY census_pi_name ASC, census_fund_number ASC
where ARM_REPORT_PERIOD_RANGE is cast as java.lang.String with no default value
and, Servoy sends the following string as the argument:
EDIT: the below line is incorrect. Please see my response further down the thread.
“census_period IN ( ‘2013/08’,‘2013/09’,‘2013/10’,‘2013/11’,‘2013/12’ )”
the error message is emitted.
It appears the ‘period’ arguments are being interpreted as dates, and not as strings (everything is declared as strings). And, what is the culprit…Servoy, JasperReport Plug-in, Jasper Studio, or Sybase SQL?
How do I fix this?