SqlConnection transaction MySql

Delphi

31/08/2009

Pessoal...
Estava eu testando aqui usando

try
  dmCadastroF.sqlConn.StartTransaction(transacao);
...
...
...
...
abort; (teste para forçar um exception)
...
...
except
  dmCadastroF.sqlConn.Rollback( transacao);
  exit;
end;
  showmessage(´Lançamentos gerado com sucesso!´);


Mas sempre gerava os dados...
Debugando ele realmente passar pelo Rollback, mas aparentemente não o faz.

Fui dar uma olhada no Help do delphi que ja me ajudou milhares de vezes
Call StartTransaction to start a new transaction against a database server that supports transactions. (MySQL servers do not support transactions.)

Bom.. se isso for verdade como contornar isso.

Estou usando Delphi 7, DBExpress, MySql


Osocram

Osocram

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

31/08/2009

salvo engano, no momento do lançamento do Delphi 7 o MySQL estava na versão 3 ou 4 e essas versões não suportavam transações, bem como não suportavam várias características de SGDBR de verdade. Isso foi ´corrigido´ a partir da versão 5, portanto creio ser necessário obter um driver dbExpress para MySQL a partir do 5 e também o próprio MySQL a partir do 5.


GOSTEI 0
Osocram

Osocram

31/08/2009

Amigo Emerson
So p ver se entendi bem, se eu migrar este sistema para o D2007 usando o DBExpress e os drivers nativos q ele tem para MySql vai funcionar?
Aqui o MySql esta na versão 5.0.45


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

31/08/2009

isso mesmo. deve funcionar.


GOSTEI 0
Osocram

Osocram

31/08/2009

OK é provavel que eu migue o sistema nessa ou na prox semana da ja teremos uma resposta..

Obrigado Emerson.


GOSTEI 0
POSTAR