Fórum netbeans só retorna 1000 registro no select * from clientes mais a tabela contem 20000 #480185
26/05/2014
0
Alguem poderia me ajudar
tenho uma tabela clientes.dbf que contem 20000 registro!
mais quando eu dou o seguinte comando
select * from clientes
só me retorna 1000 registro! alguem poderia me dar um dica de como resolver isso!!
desde já agradeço a todos a colaboração!
Ronald Santos
Curtir tópico
+ 0Posts
26/05/2014
Eduardo Pessoa
Gostei + 0
02/06/2014
Ronald Santos
eu consegui descobrir o problema, eu estava usando o driver DBF_JDBC40 para conexão com banco de dados .dbf, o problema é que esse driver é demo e por isso ele só retornava 1000 registros!
Gostei + 0
02/06/2014
Ronald Santos
o Statement tem uma função ( setMaxRows() ) que recebe um valor inteiro, será que tem a finalidade de limitar o total de registros para um resultset?
Gostei + 0
05/06/2014
Eduardo Pessoa
eu consegui descobrir o problema, eu estava usando o driver DBF_JDBC40 para conexão com banco de dados .dbf, o problema é que esse driver é demo e por isso ele só retornava 1000 registros!
não sabia desse probleminha, existe uma outra solução?
Gostei + 0
06/06/2014
Ronald Santos
eu consegui descobrir o problema, eu estava usando o driver DBF_JDBC40 para conexão com banco de dados .dbf, o problema é que esse driver é demo e por isso ele só retornava 1000 registros!
não sabia desse probleminha, existe uma outra solução?
Sim
A minha solução foi fazer uma ponte usando odbc!
eu configurei a base de dados usando a opção FONTES DE DADOS OBDC que fica na ferramentas administrativas do windows, em seguida usei o driver odbc do java e fiz a conexão ficou assim no meu fonte:
public class ConectaBanco {
public Statement stm;
public ResultSet rs;
public Connection conn;
public String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
public String url = "jdbc:odbc:basedbf";
public void conexao(){
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
System.err.println("Erro na classe: "+ex.getMessage());
} catch (SQLException ex) {
Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
System.err.println("Erro de sql: "+ex.getMessage());
}
}
public void executaQuery(String sql){
try {
stm = conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE, rs.CONCUR_READ_ONLY);
rs = stm.executeQuery(sql);
} catch (SQLException ex) {
//Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
System.err.println("Erro no executaQuery: "+ex.getMessage());
}
}
public void desconecta(){
try {
conn.close();
} catch (SQLException ex) {
Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
System.err.println("Erro ao fechar conexão: "+ex.getMessage());
}
}
}(basedbf) é o nome da fonte de dados que configurei manualmente no windows!
Gostei + 0
09/06/2014
Eduardo Pessoa
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)