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
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.
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 ?
-
- Mensajes: 58
- Registrado: Sab Nov 24, 2012 3:50 pm
MySQL a veces me graba a veces no. Que puede pasar ?
¿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
>
>
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
>
>
MySQL a veces me graba a veces no. Que puede pasar ?
Jose, Gracias por contestar
completamente seguro que se ejecuta el commit.
completamente seguro que se ejecuta el commit.
MySQL a veces me graba a veces no. Que puede pasar ?
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
> 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