Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problemas al hacer rollback

Estas en el tema de Problemas al hacer rollback en el foro de Mysql en Foros del Web. Hola, estoy realizando una base de datos con mysql (tablas InnoDb) y utilizo ADODB. El problema lo tengo al realizar el control de transacciones, es ...
  #1 (permalink)  
Antiguo 23/04/2008, 11:27
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Problemas al hacer rollback

Hola,
estoy realizando una base de datos con mysql (tablas InnoDb) y utilizo ADODB. El problema lo tengo al realizar el control de transacciones, es como si estuviera utilizando un sistema no transaccional y entonces no se restauran las transacciones.
En el caso siguiente el rollback no se realiza, con lo cual se inserta el valor en la tabla. He probado con BeginTrans y StartTrans, pero el resultado es el mismo, no funciona.

<?php
include("conectarADO.php");
include("adodb/adodb.inc.php");

$usuari=$_POST['user'];
echo "user: $usuari";

$db = conectar();
//$db->StartTrans();
$db->BeginTrans();
$insert = "INSERT INTO prueba VALUES ($usuari)";
$tran3=$db->Execute($insert);
//$res=$db->CompleteTrans(false);
$res=$db->RollbackTrans();

if($res) {
echo "TRUE";
}
else {
echo "FALSE";
}


?>

En la interficie de phpMyAdmin he introducido el codigo mysql para comprovar que la tabla permite el control de transacciones y si que funciona. Por tanto el problema que tengo es con el uso de ADODB, pero no consigo encontrar los motivos por los que falla.
El motor de almacenamiento predeterminado en el servidor es MyISAM ,que no soporta transacciones, aunque no creo que haya ningun problema con eso a la hora de hacer la conexion, pero es que no se me ocurre nada más.
A ver si alguien me puede ayudar porque no consigo encontrar que puede estar pasando.
Gracias!
  #2 (permalink)  
Antiguo 25/04/2008, 05:08
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problemas al hacer rollback

Yo tengo exactamente el mismo problema, he hecho lo mismo que tu.

A ver si alguién nos lo puede solucionar.
  #3 (permalink)  
Antiguo 25/04/2008, 09:58
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Re: Problemas al hacer rollback

Buenas, ya he encontrado la solución.
El problema recae en el driver utilizado para hacer la conexión. Por defecto para conectar a la BD se utiliza 'mysql' (NewADOConnection('mysql')), pero este driver deshabilita el soporte de las transacciones, entonces hay que utilizar 'mysqlt' (NewADOConnection('mysqlt')) con el que sí podrás controlar las transacciones.
Espero que te sirva de ayuda.
Saludos!
  #4 (permalink)  
Antiguo 28/04/2008, 08:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Problemas al hacer rollback

Muchísimas gracias!!

Efectivamente ese era el error.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:23.