Erro de incompatibilidade do tipo dos parâmetros do relatório

Olá, pessoal. Estou com um erro e não estou encontrando a solução.

No meu relatório existem dois parâmetros (DATAINICIO, DATAFIM) que no banco estão com o tipo “date”. Quando insiro as datas no formulário do relatório, ele me retorna um erro:

net.sf.jasperreports.engine.JRException: Incompatible java.lang.String value assigned to parameter DATAINICIO in the relQuantidadeNovosClientesfisicoPorPeriodo dataset.

O método que estou usando para imprimir o relatório é o seguinte:

public InputStreamDownload relQuantidadeNovosClientesFisicoPorPeriodo(String dtIncio, String dtFinal)
throws JRException, SQLException, ClassNotFoundException, Exception {
InputStream file = getClass().getClassLoader().
getResourceAsStream("/br/com/catequese/relatorio/relQuantidadeNovosClientesfisicoPorPeriodo.jasper");
Map parametros = new HashMap();
parametros.put(“DATAINICIO”, formataData(dtIncio));
parametros.put(“DATAFIM”, formataData(dtFinal));
ByteArrayOutputStream os = new ByteArrayOutputStream();
JasperRunManager.runReportToPdfStream(file, os, parametros, getConexao());
InputStream document = new ByteArrayInputStream(os.toByteArray());
return new InputStreamDownload(document, “application/pdf”, “relatorioQuantidadeNovosClientesFisicoPorPeriodo.pdf”, true, os.toByteArray().length);
}

Alguém??

Cara,

Dentro do IReport, nas propriedades desses seus parâmetros que são em formato date, onde diz Parameter Class, coloque java.util.Date ao invés de java.lang.String… Pode ser que seja isso o problema.

Abraço!

Resolvi o problema.

O erro estava no tipo dos parâmetros do método InputStreamDownload que eram String e, portanto, diferentes do tipo dos campos da tabela que eram Date. Então bastou trocar String por Date.