Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #18  
Antiguo 30-10-2018
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 90
Poder: 10
usuario1000 Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Ok. Transacciones es realmente algo simple. Es como tener certeza que el mundo no ha cambiado mientras diste unos pasos mas.

Si tienes un vble:

Código SQL [-]a = 1 a = 2 total = 1 + a


puedes pensar que se ejecuta todo en el exacto orden que estas leyendo, y que total terminara en 3.

Pero en un ambiente paralelo o asincronico y al acceder una variable mutable accesible por MULTIPLES (posibles) PROCESOS:

Código SQL [-]Proceso 1: a = 1 Proceso 1: a = 2 Proceso 2: a = 0 Proceso 1: total = 1 + a


no puedes presumir que el orden de las acciones es el que estas leyendo en codigo. Porque multiples procesos pueden, en cualquier momento, "cambiar el mundo" bajo tus pies.

Asi, que mientras este solamente afectando una sola "variable"

Código SQL [-]Proceso 1: a = 1


puedes dejarlo en manos del componente / motor.

Pero si necesitas mantener la CERTEZA que el mundo no ha cambiado, ten en cuanta que el motor NO PUEDE ASUMIR:

Código SQL [-]12:00.1am Proceso1: a = 1 12:00.2am Proceso1:a = 2 12:00.3am Proceso1total = 1 + a


porque totalente pude ser:

Código SQL [-]12:00.1am Proceso1: a = 1 4:00 pm Proceso1:a = 2



asi que para indicarle que un conjunto de instrucciones REALMENTE son secuenciales, debes encapsularlas en una transaccion:

Código SQL [-]TRASACCION 1 12:00.1am Proceso1: a = 1 12:00.2am Proceso1:a = 2


Asi, que si, es necesario usarlo incluso en SELECT, si hay UN CONJUNTO DE SELECTS que logicamente DEBEN LEER SOBRE EL MISMO CONJUNTO DE DATOS.

Si no, tendras una "lectura fantasma".


Debes leer sobre las propiedades ACID para completar tu entendimiento:

https://es.wikipedia.org/wiki/Aislamiento_(ACID)

Hola Mamcx, en lineas generales sé que hacen las transacciones y te agradezco tu aclaración, pero mi problema es como conectar un componente que tengo en el Cliente con otro componente que tengo en el Servidor para poder usar el componente de Transacciones en el Cliente.


Gracias.
Responder Con Cita
 



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
Duda existencial rm_machado Tablas planas 5 03-03-2009 06:17:09
Ayuda con duda existencial poliburro La Taberna 19 30-07-2007 09:30:39
Duda existencial MaMu OOP 3 27-09-2006 15:37:40
duda existencial nightynvid La Taberna 2 05-09-2006 14:12:20
Duda Existencial (datamodule) vipernet Conexión con bases de datos 5 08-06-2006 20:15:30


La franja horaria es GMT +2. Ahora son las 01:29:40.


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