Olá,
o que será que pode ser o erro abaixo …o parametro de parametro está como tipo Date ???
da pagina jsp vem String converto pra Date …e qdo chama JasperRunManager.runReportToPdf da erro
net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query :
--action
String dtinicial = this.dtoReport.getDtinicial().trim();
String dtfinal = this.dtoReport.getDtfinal().trim();
parameters.put("data_inicial_cab", dtinicial);
parameters.put("data_final_cab", dtfinal);
if ((dtinicial == null && dtfinal == null)||(dtinicial.equals("") && dtfinal.equals(""))){
dtinicial = "01/01/1900";
dtfinal = "31/12/3000";
}
data_inicial_d = new CriteriaSearchDetail().convertStringToDate(dtinicial,">=");
data_final_d = new CriteriaSearchDetail().convertStringToDate(dtfinal,"<=");
parameters.put("data_inicial", data_inicial_d);
parameters.put("data_final", data_final_d);
----
String jasper = request.getContextPath()+ "/report/report/"+nomeRelatorio;
host = "http://" + request.getServerName() + ":" + request.getServerPort();
URL jasperURL = new URL(host + jasper);
Logger.getLogger(Report.class).log(Priority.INFO, " report passo 5 "+new Date());
response.setContentType(CONTENT_TYPE_PDF);
byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);
--
public static Date convertStringToDate(String date,String operator) throws BaseException {
Date out = null;
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
try {
Date dataTODate = dateFormat.parse(date);
if (operator.equals("=")||operator.equals(">")||operator.equals(">=")||operator.equals("!")){
out = DateUtils.lowDateTime(dataTODate);
}else{
out = DateUtils.highDateTime(dataTODate);
}
} catch(Exception e) {
//throw new BaseException(e, "CriteriaSearchDetail", "convertStringToCalendar", "1");
}
return out;
}
--
public static Date lowDateTime(Date date) {
Calendar aux = Calendar.getInstance();
aux.setTime(date);
toOnlyDate(aux); //zera os parametros de hour,min,sec,milisec
return aux.getTime();
}
---
public static Date highDateTime(Date date) {
Calendar aux = Calendar.getInstance();
aux.setTime(date);
toOnlyDate(aux); //zera os parametros de hour,min,sec,milisec
aux.roll(Calendar.DATE, true); //vai para o dia seguinte
aux.roll(Calendar.MILLISECOND, false); //reduz 1 milisegundo
return aux.getTime();
}
net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query :
SELECT ic.certificate_id,
icd.cn titular,
ica.name ac,
ic.notafter ate,
ic.notbefore de,
ic.certificate_state situacao,
ict.certificate_family icp,
ict.name tipo,
idm.name modelo,
id.serialnumber serie,
iu.name usuario
FROM ims_certificate ic
left join ims_certificate_type ict on ic.certificate_type_id = ict.certificate_type_id
left join ims_certificate_dn icd on ic.dn_id = icd.dn_id
left join ims_ca ica on ict.ca_id = ica.ca_id
left join ims_publickey ipk on ic.publickey_id = ipk.publickey_id
left join ims_key_container ikc on ipk.publickey_id = ikc.publickey_id
left join ims_device id on ikc.device_id = id.device_id
left join ims_device_model idm on id.device_model_id = idm.device_model_id
left join ims_user iu on id.device_model_id = idm.device_model_id
-- where (?="0" and ? ="0" )or (DATE(ic.notafter) >=str_to_date(?,'%d/%m/%Y %T') and DATE(ic.notafter)<=str_to_date(?,'%d/%m/%Y %T'))
where (ic.notafter >= ? and ic.notafter<=? )
order by 5,2,1