Programación en castellano
Inicio > Foros > MySQL > Can't call commit when autocommit=true
-Foros de debate

MySQL
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Can't call commit when autocommit=true
Enviado por raquel el día 13 de abril de 2006

Hola atodos!!!
en la aplicación que estoy implementando al insertar un nuevo registro en una tabla, me sale el siguiente excepcion:
java.sql.SQLException: Can't call commit when autocommit=true
El caso es que el registro se guarda en la base de datos.
estoy utilizando l entorno de desarrollo eclipse y la base de datos MySQL. Alguien sabe que es lo que pasa?
el código es el siguiente:
public boolean insert(String tabla, String valores){
Statement sentencia;
boolean estado= true;
try{
System.out.println("INSERT INTO " + tabla + " VALUES (" + valores + ")");
sentencia= this.conexion.createStatement();
sentencia.executeUpdate("INSERT INTO " + tabla + " VALUES (" + valores + ")");
this.conexion.commit();
sentencia.close();
}catch (SQLException e){
System.out.println(e.getMessage());
System.out.println(e.toString());
estado= false;
}
return estado;
}

 
Re: Can't call commit when autocommit=true
Enviado por frantrax el día 18 de abril de 2006

a mi también me pasa lo mismo, alguien sabe como solucionar este problema?

 
Re: Re: Can't call commit when autocommit=true
Enviado por yosealgo el día 20 de abril de 2006

mmm, la verdad que no pero dejalo ahi y buscate otra forma para resolver el problema en si.

Chau

 
Re: Re: Re: Can't call commit when autocommit=true
Enviado por yosealgo el día 20 de abril de 2006

probaste borrandole: "this.conexion.commit();", digo alomejor es necesaria esa linea.

Saludos.

 
Re: Re: Re: Re: Can't call commit when autocommit=true
Enviado por sphinx101 el día 26 de abril de 2006

Lo que sucede es muy simple te marca esa exeption porque no haz puesto el autocommit a false, esto lo haces de la siguiente manera:

conn.setAutoCommit(false)

y ya con esto de dices al smdb que tu vas a controlar las transacciones y ahora si vas a poner hacer tus propios commit,

recuerda de regresar el autocommit a true despues de que hayas hecho tus acciones, esto porque si no tendrias que controlar todos los commits y rollback que se generen por hacer una simple consulta.

espero y te sirva de algo.


felices lineas!

 





Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad
Mantenida por: Claudio y Dani.

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | amor | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | gratis | posicionamiento en buscadores | decoración libre | gifs animados