Problemas com Autocommit no MySQL!

5 respostas
C

Galera quando o método rollback do objeto connection é chamado, esse não faz efeito no banco. Abaixo tem um trecho da minha classe de conexão:

private ConnectionDB() throws ClassNotFoundException {
	Class.forName("org.gjt.mm.mysql.Driver");	
}

public Connection getConnection() throws SQLException {
	Connection connection = null;
	connection = DriverManager.getConnection("jdbc:mysql://localhost/testeDb?user=root&password=root");
	connection.setAutoCommit(false);
	return connection;
}

Pelo jeito a linha "connection.setAutoCommit(false);" não está fazendo efeito. Alguém sabe se o MySQL suporta transação? Se não suportar, como farei o rollback, em casos de exceção?

A versão que estou usando do MySQL é a 4.1.

Valeu,

César

5 Respostas

Rafael_Steil

A versao 4.1 suporta transacoes sim. Provavelmente o erro esta em alguma outra parte do seu codigo.

Rafael

louds

Suas tabelas são MyISAM ou InnoDB? Porque MyISAM não suportam transações.

C

Valeu galera pela ajuda…minhas tabelas eram MyISAM, mudei para InnoDB e o rollback funcionou…

:smiley: Valeu,

César Lino

chun

MySQL Suporta transacao desde a versao 3.23.34a , com o uso das tabelas do Tipo InnoDB ( ou innobase na epoca ) , ou BDB ( estas desaconselho o uso… ) …

Transacoes , integridade referencial , crash recovery sao coisas q existem no mysql a mais de 4 anos…

e outra… use o Connector/J da MySQL como driver JDBC , baixe ele em http://dev.mysql.com

a classe q vc vai fazer .forName é “com.mysql.jdbc.Driver”

Vai ter uma palestra no FISL 6.0 sobre o mysql na aplicação comercial… se quiser de um pulo lah :slight_smile: fisl.softwarelivre.org/6.0/

Vai ser esta sexta dia 3/6/2005 :slight_smile:

Abraços…

Rafael_Steil

chun:

e outra… use o Connector/J da MySQL como driver JDBC , baixe ele em http://dev.mysql.com

a classe q vc vai fazer .forName é “com.mysql.jdbc.Driver”

A org.gjt ainda pode ser usada - ela eh mantida por questoes de compatibilidade, e simplesmente chama a com.mysql. Mas claro, para codigos novos eh preferivel usar a forma “correta” ja.

Rafael

Criado 29 de maio de 2005
Ultima resposta 30 de mai. de 2005
Respostas 5
Participantes 4