Problema com statement

2 respostas
T

bom dia pessoal!!!

vou postar um fonte para poder explicar o problema!!!

public Vector getTabelaEnvio(){

Statement sEnvio = null;
    ResultSet rEnvio = null;
    
    try{
        sEnvio = c.createStatement();            
        rEnvio = sEnvio.executeQuery("SELECT NR_VEICULO, DT_MENSAGEM, TP_MENSAGEM, DS_MENSAGEM, ROWID FROM TABELAENVIO WHERE ID_ENVIAR IS NULL ORDER BY DT_MENSAGEM ASC");
        
        
        rEnvio.close();
        sEnvio.close();
    }        
    catch (Exception e) {
        e.printStackTrace();
    }

}

return null;

}

vamos lá…

vamos supor que uma classe minha instanciada possui esse metodo, já com a conexao ao banco feita, quanto a isso nenhum problema!

esse metodo vai ser executado a cada 1 segundo, e esse programa deverá rodar meses e meses!!

o meu problema é o seguinte, se eu executar esse metodo exatamente como está ai, o meu programa nao para de aumentar o uso de memoria utilizada, daqui uns dois dias o programa da estouro de memoria!!!

mas se eu comentar as linhas

rEnvio = sEnvio.executeQuery(“SELECT NR_VEICULO, DT_MENSAGEM, TP_MENSAGEM, DS_MENSAGEM, ROWID FROM TABELAENVIO WHERE ID_ENVIAR IS NULL ORDER BY DT_MENSAGEM ASC”);

e a linha rEnvio.close();

meu programa fica com o uso de memoria estagnada!!! ou seja, nao ha mais aumento de memoria!!!

o que pode ser??? o statement nao esta desalocando a memoria ??

ele nao gera nenhum tipo de erro ou exception!!

1 abraço
Silvano

2 Respostas

E

Não sei se entendi bem o seu problema, mas já tentou um Commit.

T

no driver jdbc eu tenho setada a opcao auto commit, quanto a isso tambem nao tenho nenhum problema!!

o meu problema é que se eu fazer um executeQuery no statement, e depois dar um close nele, nao gera erro nenhum, funciona perfeitamente!!, mas a
memoria que o programa estautilizando esta cada vez maior!!

ou seja, mesmo depois do close no statement ele nao esta desalocando a memoria utilizada!!!

“efren_lopes”:
Não sei se entendi bem o seu problema, mas já tentou
um Commit.

Criado 6 de setembro de 2006
Ultima resposta 6 de set. de 2006
Respostas 2
Participantes 2