In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

MySQL a veces me graba a veces no. Que puede pasar ?

Foro público de Xailer en español
Responder
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

MySQL a veces me graba a veces no. Que puede pasar ?

Mensaje por Gabo »

Hola
Uso un entorno de base de datos con MySQL en un servidor ubuntu.
y 12 Sucursales Remotas. ( Xailer 2.7 + Harbour + tablas innodb )
Me sucede que en ocasiones hay informacion que no se graba. en este caso las ventas. o a veces el proceso de existencias. queda sin registrarse. Tengo el siguiente algoritmo de grabacion
TRY
graba( ventas, afecta existencias, actualiza kardex )
CATCH
rollback
END
commit
Por sugerencia de un post en el foro donde le pasaba algo similar a un compañero con el consecutivo de sus folios. estoy usando el bloquedo de tablas Lock tables. ( lo raro es que con el bloqueo de las tablas no se han detectado fallos en el registro de datos)
Pero por falta de experiencia con esta forma de bloqueo. y siendo las tablas innodb no estoy muy convencido si es la solucion correcta. Aparte en el proceso de grabacion. no ocurre ningun error. por que se supone que quedaria atrapado con CATCH. mas creo que es algun problema de conexion que sufre xailer.
Algun compañero que tenga alguna sugerencia por donde mas o menos pueda buscar o encontrar en donde esta fallando la conexion de mysql.
Todas las sugerencia son bienvenidas
Un Saludo
Gabriel Ornelas
Jose A. Suarez
Mensajes: 58
Registrado: Sab Nov 24, 2012 3:50 pm

MySQL a veces me graba a veces no. Que puede pasar ?

Mensaje por Jose A. Suarez »

¿Estás seguro que se ejecuta el COMMIT?
El 15/08/13 20:42, Gabriel Ornelas escribió:
> Hola
>
> Uso un entorno de base de datos con MySQL en un servidor
> ubuntu.
> y 12 Sucursales Remotas. ( Xailer 2.7 + Harbour + tablas
> innodb )
> Me sucede que en ocasiones hay informacion que no se graba.
> en este caso las ventas. o a veces el proceso de
> existencias. queda sin registrarse. Tengo el siguiente
> algoritmo de grabacion
> TRY
> graba( ventas, afecta existencias, actualiza kardex )
> CATCH
> rollback
> END
> commit
>
> Por sugerencia de un post en el foro donde le pasaba algo
> similar a un compañero con el consecutivo de sus folios.
> estoy usando el bloquedo de tablas Lock tables. ( lo raro es
> que con el bloqueo de las tablas no se han detectado fallos
> en el registro de datos)
> Pero por falta de experiencia con esta forma de bloqueo. y
> siendo las tablas innodb no estoy muy convencido si es la
> solucion correcta. Aparte en el proceso de grabacion. no
> ocurre ningun error. por que se supone que quedaria atrapado
> con CATCH. mas creo que es algun problema de conexion que
> sufre xailer.
> Algun compañero que tenga alguna sugerencia por donde mas o
> menos pueda buscar o encontrar en donde esta fallando la
> conexion de mysql.
>
> Todas las sugerencia son bienvenidas
> Un Saludo
>
> Gabriel Ornelas
>
>
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

MySQL a veces me graba a veces no. Que puede pasar ?

Mensaje por Gabo »

Jose, Gracias por contestar
completamente seguro que se ejecuta el commit.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

MySQL a veces me graba a veces no. Que puede pasar ?

Mensaje por jfgimenez »

Gabriel,
> TRY
> graba( ventas, afecta existencias, actualiza kardex )
> CATCH
> rollback
> END
> commit
con esta construcción nunca vas a saber si realmente se produce algún
error al grabar, ya que el TRY / CATCH / END oculta cualquier mensaje de
error. Cámbialo por BEGIN SEQUENCE / RECOVER / END SEQUENCE y por lo
menos ves los mensajes de error.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder