Boa tarde a todos.
Estou utilizando o driver jtds 1.2.5 para se conectar ao banco de dados SQL Server 2008 Express.
O mesmo conecta normalmente e executa tudo o que preciso.
O problema é o seguinte, estou desenvolvendo um programa que vai retornar do banco uma quantidade de registro muito grande, por volta de 20000 registros!
Fiz um for que vai percorrer todos esses retornos do banco e adicionará o conteudo dos mesmo a uma jTable.
Porem quando chega por volta do registro 1900 ele apresenta o seguinte erro:
java.sql.sqlexception: login failed for user “root”.
O que pode estar causando esse erro? Uma vez que a senha esta correta e tanto é que retornou os 1899 registros anteriores?
Eu fiz um teste e o exception esta ocorrendo na minha classe de conexão:
public class Conexao {
private static String DRIVER = "jdbc:jtds:sqlserver://";
private static String SERVERURL = "extconextst.dyndns.org:1433/";
private static String DATABASE = "TOTVS_PRD";
private static String USERNAME = "ROOT";
private static String PASSWORD = "SENHA";
public static void main(String[] args) {
getConexao();
}
public static Connection getConexao() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
System.out.println("Banco - conectado ao banco de dados MSSQL.");
return DriverManager.getConnection(DRIVER + SERVERURL + DATABASE, USERNAME, PASSWORD);
} catch (ClassNotFoundException | SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao executar a solicitação:\n\n" + ex, "Sistema Custo", JOptionPane.ERROR_MESSAGE);
}
return null;
}
}
Não existe uma forma de deixar essa conexão aberta durante a execução do meu programa? Por que eu executo esse metodo para cada um dos registros dessa tabela (+ ou - 20000).
Minha logica deve esta meio defazada! Seria o caso de usar o Hibernate?
Fico no aguardo e desde já agradeço.