Erro estranho no iReport 2.0.4 + Firebird 1.5

2 respostas
javer

Estou com esse problema, na minha máquina executa sem problemas, já na máquina do cliente dá uma exceção, e estamos com a mesma versão do FB.

Exceção:
net.sf.jasperreports.engine.JRException: Error executing SQL statement for : LISTAGEM_FATURAMENTO_SINTETICO_NOTAS
    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:141)

    at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:683)
    at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:615)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1203)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:842)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:795)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:363)
    at com.sikgraf.reports.Report.ExecutarRelatorio(Report.java:100)
    at com.sikgraf.reports.Report.access$000(Report.java:26)
    at com.sikgraf.reports.Report$1.run(Report.java:65)
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544348. no current record for fetch operation
    at org.firebirdsql.jdbc.FBCachedFetcher.<init>(FBCachedFetcher.java:126)
    at org.firebirdsql.jdbc.FBResultSet.<init>(FBResultSet.java:113)
    at org.firebirdsql.jdbc.AbstractStatement.getCachedResultSet(AbstractStatement.java:568)
    at org.firebirdsql.jdbc.AbstractPreparedStatement.executeQuery(AbstractPreparedStatement.java:115)
    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:135)
Query no relatório:
SELECT
    EMP.NOME NOME_EMPRESA,
    CLI.NOME NOME_CLIENTE,
    CLI.CODIGO CODIGO_CLIENTE,
    SUM(DISTINCT NOS.VALOR_DESCONTO) VALOR_DESCONTO,
    SUM(CNT.VALOR_FINAL) VALOR_TOTAL_ORDENS,
    SUM(PN.VALOR_TOTAL) VALOR_TOTAL_PRODUTOS,
    COUNT(DISTINCT OS.codigo) QUANTIDADE_OS,
    COUNT(CNT.codigo_servico) QUANTIDADE_SERVICOS,
    COUNT(PN.ID) QUANTIDADE_PRODUTOS,
    COUNT(DISTINCT NOS.numero) QUANTIDADE_NOTAS
FROM
    NOTA_DE_SERVICO NOS
    LEFT JOIN ORDEM_SERVICO OS ON (NOS.NUMERO=OS.NOTA_FISCAL AND OS.ID_EMPRESA=NOS.ID_EMPRESA)
    LEFT JOIN CONTROLE_ORDEM CNT ON (CNT.CODIGO_ORDEM=OS.CODIGO)
    LEFT JOIN PRODUTO_NOTA PN ON (PN.ID_NOTA=NOS.NUMERO AND PN.ID_EMPRESA=NOS.ID_EMPRESA),
    CLIENTES CLI,    
    TIPO_NOTA NAT,
    EMPRESA EMP
WHERE
    EMP.ID = CLI.CODIGO_EMPRESA AND
    NAT.ID = NOS.ID_NATUREZA AND
    NAT.USA_FATURA = 1 AND
    CLI.CNPJ = NOS.ID_CLIENTE AND 
    $P!{QUERY_COM_FATURA} AND 
    $P!{QUERY_TIPO} AND 
    $P!{QUERY_EMPRESA}
GROUP BY 1,2,3

O que pode ser essa coisa estranha que só acontece na máquina do cliente?

2 Respostas

ataufo

Estou com a mesma dúvida, conseguiu resolver?

javer

O problema era que eu (na minha máquina onde desenvolvo o sistema) estava usando o SuperServer e no cliente estava a outra versão do Firebird, então problema estava na QUERY onde tem aqueles LEFT JOINs, fiz a query sem os LEFT JOINs e resolveu o problema.

Criado 14 de maio de 2009
Ultima resposta 28 de set. de 2009
Respostas 2
Participantes 2