FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
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! |
#2
|
||||
|
||||
Pues haz una búsqueda aquí, por los foros, porque es un tema que se ha tratado en diversas ocasiones
|
#3
|
||||
|
||||
Meto mi cuchara.
MySQL sí acepta transacciones y las trata como tal, sí y solo si, las tablas implicadas son tipo InnoDB que son las únicas transaccionales que maneja este motor. Por default las tablas creadas son todas MyISAM, muchísimo más rápidas pero no aceptan transacciones. La forma como se manejan las transacciones en MySQL son totalmente distintas a Firebird. Veo que utilizas Zeos, los cuales yo también uso, son muy buenas y no dan problemas prácticamente de nada. Lo que sugiero es que manejes las transacciones directamente sobre MySQL, para ello solo requieres lanzar un query "START TRANSACTION" antes de lo que quieras hacer y un "COMMIT" O "CANCEL" dependiendo de lo que te salió. Tengo un sistema actualmente trabajando que hace uso de transacciones para algunas cosas, si quieres lo pego pero depende de si es igual que lo que necesitas, en mi caso es para evitar folios duplicados.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
|||
|
|||
Segun el foro de Zeos no hace falta el STARTTRANSACTION en las transacciones cuando es NO AUTOCOMMIT, basta con solo poner COMMIT/ROLLBACK
probé con una actualizacion simple y funciona. Ya probaré en varias actualizaciones y que falle una a ver si el ROLLBACK actua como deberia. Es medio contradictorio esto, si no hay un start como podria haber un commit, pero es la forma de manejarlo, oracle no recuerdo mucho ya que vi hace mucho tiempo y no llegué a realizar cosas serias sino a modo autodidacta nada mas, pero segun dicen tambien lo maneja así. Y de ahi esta filosofía. Todas mis tablas son de tipo InnoDB, no solo por manejar transacciones sino tambien el modelo relacional, ya que de tipo MyISAM no acepta relaciones. En fin seguiré probando mas tarde esto y posteo despues los resultados, pero si quieres pegar un fragmento de codigo bienvenido sea, aunque se entiende perfectamente lo que dices. Muchas gracias! Edito: El error en el start es el siguiente: "Invalid operation in non AutoCommit mode" Si en el StartTransaction me encuentro con esto ya no quería ni seguir. Saludos Última edición por waly2k1 fecha: 18-06-2012 a las 22:43:01. |
|
|
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 |
|