PrepareStatement trava no execute

12 respostas
paulofernandesjr

opa!

galera tenho esse código

conn.setAutoCommit(false);
System.out.println(consulta.length);
for(int i=0;i<consulta.length;i++ ) {
    System.out.println( consulta[i] );
    ps = conn.prepareStatement( consulta[i] );
    System.out.println("executando a query...");
    ps.executeUpdate();
}
conn.commit();

então quando eu mando executar, ele trava na primeira query, eu já copiei a query e rodei no banco de dados direto e ela funciona direitinho

alguem sabe o que pode ser?

12 Respostas

ONHATE

Depende muito do que você tem nesta consulta…

paulofernandesjr:
opa!

consulta[i];

paulofernandesjr

é um UPDATE simples nada que eu acho muito complexo.

mas se eu coloco um bem simples, passa na boa!

vanzella

Vc tem varios sql nesse array? “consulta[]”
depende do que vc tiver ai, se for consulta tem que usar ps.executeQuery();

paulofernandesjr

São todos UPDATES

vanzella

Só por curiosidade, vc esta com esses erros em ambiente de desenvolvimento, executando sozinho?
Outra coisa, vc esta com alguma conexão externa(Cliente de banco) aberta para alguma tabela que esteja fazendo update?

paulofernandesjr

exato, estou sozinho e sem nada aberto, somente o pool de conexões do tomcat!

vanzella

pode ser que vc não esteja fechando as conexoes corretamente, e elas estejam tavando as tabelas.

fantomas

Vc por um acaso pegou a query (do array) que está sendo executada (e está travando) e testou fora do java?

O problema pode estar na clausula where (muito abrangente, não atinge indice, …).

flws

paulofernandesjr

a query esta correta, ela executa sim

certinha no banco

L

Posta o erro que está dando.

Já tentou colocar a string da query direto no conn.prepareStatement( query )?

paulofernandesjr

não dá erro nenhum, simplesmente trava

amanha cedo vou reiniciar o banco para ver se o problema persiste!

paulofernandesjr

Reiniciei o servidor e a aplicação e deu certo

não sei bem dizer o que era!

mesmo assim obrigado pela ajuda

Criado 10 de setembro de 2009
Ultima resposta 11 de set. de 2009
Respostas 12
Participantes 5