Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #19  
Antiguo 30-09-2012
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Comentarios a autocommit

Cita:
Empezado por ElMug Ver Mensaje
Lo cierto es que commit es un comando SQL al que cada motor pude dar variantes de implementacion.
Muy cierto. Vale agregar que, como en el caso de Zeos, las tecnologías de acceso pueden establecer variantes en la forma de aplicar un Commit a la Base de Datos; pero, limitadas a las disponibles en el motor.

Cita:
Empezado por ElMug Ver Mensaje
Aunque no uso Zeos, me atrevo a dudar eso de que "autocomit" este bajo el control de sus componentes.
Formalmente tienes razón porque en últimas quién maneja el modo es el motor. Quizás la frase que puse "El modo autocommit es el modo de default del componente de conexión a la Base de Datos de Zeos (o sea TZConnection)" no está muy bien redactada.

Lo que pasa es son los componentes los que emiten los comandos al motor; por tanto, para efectos prácticos, el control lo tenemos es por medio de los componentes de acceso, ya que nosotros no nos comunicamos directamente con el motor.

Por ello, desde el punto de vista de uno como programador, el control del modo lo tenemos es con los componentes, en este caso el componente TZConecction de Zeos. Asì, cuando se inicia la conexión el motor está en modo autocommit y ello lo identifica el componente; luego el modo autocommit, como dije, es el modo de default en que se inicializa el componente, más allá de que su origen no esté en el componente sino en el motor.

Cita:
Empezado por ElMug Ver Mensaje
En SQLite, por ejemplo, el modo AUTOCOMIT es default, pero si uno especifica BEGIN transaction el modo default se hace a un lado.
Y es lo mismo que venimos diciendo aquí porque es que BEGIN TRANSACTION es el comando en el motor; pero, desde programa ese comando lo emite un método del componente y concretamente el mètodo StartTransaction. Fijate que efectivamente es lo mismo porque hemos dicho que cuando se llama a StartTransaction se apaga el modo autocommit y solo se reactiva cuando se emite el Commit o el RollBack

Cita:
Empezado por ElMug Ver Mensaje
Commit retaining no se aplica a todas las bases de datos, al menos al nivel "motor". Inclusive, puede levantar error.
Interesante observación. No lo he experimentado; pero, supondría que Zeos, cuando el motor no soporte Commit retaining, debe emitir un commit normel en su método Commit.

Cita:
Empezado por ElMug Ver Mensaje
Diria que Zeos tal vez de resultados diferentes en diferentes bases de datos.
Eso si no debería ocurrir. Alguno tiene evidencia de que ocurre.?
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con transacciones, sqlite y componentes ZEOS zoide Conexión con bases de datos 10 16-11-2009 13:10:05
transacciones y ZEOS david_uh Varios 0 26-05-2007 19:44:03
Transacciones - Que Conviene mas? Paradiso Firebird e Interbase 2 19-07-2006 14:35:21
Transacciones FireBird con Zeos vichovi Conexión con bases de datos 3 13-07-2005 08:49:29
Como Realizar transacciones con Zeos o en Delphi Dayvis MySQL 1 22-10-2004 03:00:47


La franja horaria es GMT +2. Ahora son las 21:27:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi