FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Problemas con autocommit con Zeos
Bien ahí Casimiro, sorry por no abrir otro hilo.
no tuve ninguna respuesta al tema, qué raro. Solo a mi me pasa eso?. No creo, pero bueno. Saludos |
#2
|
||||
|
||||
Hola, no entiendo bien la pregunta, pero lo que explicas no tiene mucho sentido, principalmente dos cosas:
- Lo de las PK y la tecla de destrucción masiva de los clientes - Registros huérfanos Por lo que imagino que la base de datos adolece de algunos fallos en su estructura, o sea, que no está bien hecha. ¿Puedes ampliar el tema?, gracias |
#3
|
|||
|
|||
Aclaración
Si si, al encontrarse error de las PK denota una falla en las estructuras de la BD, por ej no contemplaba la posibilidad
de abonar un comprobante de Venta con más de un mismo medio de pago repetido, por ej. con tres cheques, sí con 4 medios de pagos distintos como máximo que es lo que la AFIP Argentina permite como maximo. La PK era tipo_comprobante, nro_comprobante, id_medio, al repetirse el id_medio en la insercion aborta. El tema es que inserta la cabecera del comprobante bien, de ahi continua a los items y bien, luego al insertar los medios de pago aborta por el tema que te mencionaba recien, pero ya quedaron los registros anteriores en las otras tablas, hago un rollback en caso de detectar algun error, pero no funciona. Antes de iniciar cualquier inserción tengo un starttransaction, luego un commit al finalizar y/o rollback en caso de error en el try, pero el objeto connection ya tiene la propiedad autocommit en true, si la pongo en false saltan errores por cualquier otro motivo en otros formularios que funcionan bien ya que actualizan una sola tabla. De ahi viene mi pregunta en como manejar el tema del autocommit, espero se entienda mejor ahora. Como manejarlo en caso de actualizaciones masivas y que el rollback funcione como debería ser antes cualquier falla en un stored procedure de inserción. Saludos y desde ya muchas gracias |
#4
|
||||
|
||||
El autocommit siempre lo tengo deshabilitado, prefiero controlarlo yo mismo, normalmente hago commit en el afterpost del dataset.
|
#5
|
|||
|
|||
Gracias!
No manejo dataset actualizables, todas mis actualizaciones son a travez del gestor de BD
en este caso MySQL por medio de Stored Procedures. Voy a estudiar más el tema del autocommit en false entonces y ver bien el por qué falla en determinados lugares. Muchas gracias por tu tiempo y dedicación Walter |
#6
|
||||
|
||||
¡Ah!, entonces es distinto, todo lo que ocurre dentro del 'stored procedure' ocurre en una transacción, pero la verdad es que desconozco cómo funciona mysql en ese aspecto, por lo que tengo leído/escuchado, con mysql hay distintas formas de usar la base de datos, y el método "estandar" no contempla procedimientos, triggers, etc.
Así que ahí no puedo ayudarte mucho, a ver si alguien "más puesto" te puede ayudar. |
#7
|
|||
|
|||
Si es muy cierto eso, es un tema adoptado hace no mucho tiempo en mysql, ya que las primeras versiones
no lo incluian, nose si vendrá por el motor el problema pero dudo, supongo que por zeos viene la mano. Y bueh será cuestión de investigar más. Pero claro es más facil preguntar a otros que ya hayan pasado por lo mismo que ponerse a investigar, vi unos foros en inglés de Zeos, pero redundan mucho y no dan solucion clara al tema. Nuevamente gracias! |
#8
|
|||
|
|||
Cita:
realmente. Muchas gracias a todos! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
En FIBPlus uso de autocommit | El_Raso | Conexión con bases de datos | 3 | 01-09-2011 00:10:51 |
|