FoxPro/Visual FoxPro - tabla quedo bloqueada

   
Vista:

tabla quedo bloqueada

Publicado por Carol (1 intervención) el 11/06/2009 16:14:59
Buenos dias estimados expertos: la cuestion es que en mi sistema de inventarios, especificamente en la devolucion, he programado 5 sqlexec, el primero es una consulta, los restantes me suben informacion para actualizar diferentes tablas de mi base de datos, todo iba bien, hasta hace poco que el programa fallo a la hora que el usuario estaba realizando la devolucin, he analizado y lo que paso es que se quedo sin conexion y no se pudo dar un sqlrollback,,,,,una tabla de la base quedo bloqueada y no podia entrar a la base, hasta que se reinicio el servidor, aqui les pongo la rutina a la hora de actualizar la devolucion:

&&&LLamada al sp para cargar las devoluciones a la factura de cual se descargo
MSQL5=SQLEXEC(MCONECT,"Exec Actualizadevo")
IF bloque1=1 AND bloque2=1 AND bloque3=1
&&&Hacer efectivos los cambios
IF MSQL2>0 AND MSQL3>0 AND MSQL4>0 AND MSQL5>0
SQLCOMMIT(mconect)
MESSAGEBOX("SE PUDO REALIZAR LA Devolucion de la orden de Suministros, los cambios han sido confirmados satisfactoriamente al Servidor",32,"Control Inventarios")
ELSE
SQLROLLBACK(mconect)
MESSAGEBOX("NO se pudo Actualizar las tablas,se cancela la devolucion de la orden de Suministros",64,"Sistema de control Inventarios")
ENDIF
ELSE
MESSAGEBOX("Corrobore la Información Exigible para realizar la devolucion",64,"sistema de Inventarios")
endif

Que puedo hacer mis queridos amigos???por si se pierde la conexion y no logra dar el sqlrollback, que no me bloquee la tabla,,,,no puedo estar pidiendo a cada rato que me reinien el servidor¡¡¡¡¡
a la espera de sus respuestas
atte Carolina
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tabla quedo bloqueada

Publicado por sergio (697 intervenciones) el 11/06/2009 21:48:47
Create una funcion que verificque la conexion y si la conexion se perdio dale un tiempo paraque se vuelva a conectar tantas veces como el tienmpo que le des lo permita
y si asi y todo no se conecto retorna
algo asi seria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tabla quedo bloqueada

Publicado por Carol (1 intervención) el 11/06/2009 22:11:08
gracias, no te entiendo cuando me dices : Y si asi y todo no se conecta retorna???
me puedes explicar por favor, yo habia pensado poner esto:

IF SQLCOMMIT(mconect)>1
MeSSAGEBOX("SE PUDO REALIZAR LA Devolucion ")
ELSE

MESSAGEBOX("No se actualizaron los cambios,")
= SQLDISCONNECT(mconect) && Cerrando conexion
CLEAR EVENTS
QUIT
endif

lo mismo con el sqlrollback, para que asi, cierre la conexion, ahora no estoy muy segura. ya que para cerrar la conexion tendria que tenerla activa
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tabla quedo bloqueada

Publicado por Marvin Emilson Pineda (75 intervenciones) el 12/06/2009 16:29:20
= SQLSetProp(oConn, "DisconnectRollBack", .T.) && Deshace cualquier transacción pendiente al desconectarse

deshace cualquier cambio hecho a las tablas tras perder conexión con el servidor....

has una prueba:

inserta un registro en una tabla, no hagas commit, y apaga la computadora para ver si se bloqueo la tabla y se hizo efectivo la inserccion en la tabla

saludos y en espera de tus comentarios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tabla quedo bloqueada

Publicado por caro (66 intervenciones) el 12/06/2009 21:20:14
Muchas gracias, lo voy a probar , y con gusto posteare lo obtenido.
atte Beatriz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar