Alguem pode me ajudar, está dando um erro de consulta no iReport para Oracle, os drivers estão ok e a conexão é feita normalmente,
essa é a classe que compila o relatorio
[b]import java.sql.*;
import java.util.HashMap;
//classes necessárias para gerar este relatório
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JRDesignViewer;
import net.sf.jasperreports.view.JasperViewer;
class ConCliente{
public static void main(String args[]){
//controla e executa uma instruçao sql
Statement meustate;
//conjunto de dados retornado por uma consulta sql
ResultSet resultset;
//instancia o objeto conex da classe Conexao
ConexaoOracle conex = new ConexaoOracle();
String sql = "SELECT * FROM TBUF";
conex.main(null);
try{
meustate =ConexaoOracle.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = meustate.executeQuery(sql);
// para compilar o relatório
JasperReport r = JasperCompileManager.compileReport("teste.jrxml");
//objeto para colocar no jasper report o resultado retornado
JRResultSetDataSource jrresultado = new JRResultSetDataSource(resultset);
//para passar parâmetros para o relatório
HashMap parametermap = new HashMap();
//chama o fill report
JasperPrint jp = JasperFillManager.fillReport(r,parametermap,jrresultado);
//para gerar relatório em pdf
JasperExportManager.exportReportToPdfFile(jp,"teste.pdf");
//para exibição do relatório
JasperViewer js = new JasperViewer(jp, false);
int janelaRelat = js.getExtendedState();
janelaRelat = js.MAXIMIZED_BOTH;
js.setExtendedState(janelaRelat);
js.setVisible(true);
}//fim do try
catch(SQLException erro){
System.out.println("Relatório não encontrado");
}
catch (JRException e) {
conex.fecha();
e.printStackTrace();
}
conex.fecha();
}//final método principal
}//final da classe ConCliente[/b]
e essa é a consulta no ireport q ele mesmo gera:
SELECT
TBUF.“CODUF” AS TBUF_CODUF,
TBUF.“SIGLAUF” AS TBUF_SIGLAUF
FROM
“SYSTEM”.“TBUF” TBUF
usando o eclipse aparece o seguinte erro depois de compilar:
[b]net.sf.jasperreports.engine.JRException: Unknown column name : TBUF_CODUF
at net.sf.jasperreports.engine.JRResultSetDataSource.getColumnIndex(JRResultSetDataSource.java:356)
at net.sf.jasperreports.engine.JRResultSetDataSource.getFieldValue(JRResultSetDataSource.java:116)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:813)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:777)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1412)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:891)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
at ConCliente.main(ConCliente.java:46)[/b]
o nome da tabela no banco é TBUF e os campos sao CODUF, SIGLAUF
ja tentei mudar para select * from TBUF
mas gera o erro de design de consulta incorreto…