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
  #4  
Antiguo 15-11-2012
Sapiem Sapiem is offline
Miembro
 
Registrado: abr 2007
Posts: 24
Poder: 0
Sapiem Va por buen camino
Sobre proteger

Gracias por las respuestas. me sorprende que algunos dicen "imposible" y siento decir que está equivocado. Mi sistema trabaja en red, cargando la base de datos por red desde una carpeta central compartida. Cinco aplicaciones utilizan la misma base de datos al mismo tiempo, sin dificultad. Ya logré proteger los registros, no dentro de la base de datos, pero si a través de código donde cada aplicación sabrá que registro está bloqueado por cualquier otra instancia de la misma ya sea en la propia red o local.

Mi pregunta era por si existía la posibilidad de crear por ejemplo tablas temporales globales dentro de la base de datos, pues cuando antes intentaba usar esa variante de código, es decir, una instancia del sistema accedía a un registro, creaba una tabla temporal dentro de la base de datos de forma tal que si otra instancia trataba de hacer lo mismo no podía porque ya la tabla estaba creada y por lo tanto significaba que estaba en uso. Quise hacerlo con tablas temporales con toda la intención de que si terminaba de usar el registro, fallaba el sistema por corriente por ejemplo, las tablas temporales desaparecen automáticamente ("drop") y eso no me obligaba a vigilar que tiempo de bloqueo tenía alguna instancia sobre el registro.

Que hice:

Cuando comienzo a usar un registro, creo un file en el directorio de la base de datos y lo mantengo abierto hasta que termine la modificación del registro.
Cualquier otra instancia que quiera modificar el mismo registro, tratará de crear también el mismo archivo y le dará error porque ya existe y está siendo utilizado por otra instancia.
Si la instancia primaria termina de usar el registro, pues entonces cierra el archivo creado y lo elimina, dando así posibilidad a otras instancias de hacer lo mismo.
Si la instancia primaria falla por algún motivo (eléctrico por ejemplo), pues el archivo permanece creado como es lógico, pero ya "nadie" lo tiene abierto como tal, por lo que cualquier otra instancia tratará de crearlo y lo sobreescribirá sin generar error.

Está probado y funciona 100% sin problemas.

Saludos

Muchas 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
ayuda con problem para determinar cuales son los registros con menor descuento microbiano SQL 9 29-10-2011 21:09:31
Ayuda a proteger tu libertad... Pascalizado Noticias 0 20-12-2007 15:45:33
manual para conectar con sqlite Greco Conexión con bases de datos 2 20-07-2007 16:45:45
necesito ayuda para pasar registros a otra tabla ddd_ddd Conexión con bases de datos 2 09-09-2005 20:33:41
necesidad de orientacion para aplicativo clinica dental FNADALO Varios 2 30-12-2003 16:19:10


La franja horaria es GMT +2. Ahora son las 01:07:19.


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