Flag para evitar acceso concurrente

11/12/2005 - 14:19 por Alfredo Crisostomo | Informe spam
Hola amigos.

En una aplicacion necesito tener acceso exclusivo a un form, es decir que si
un usuario lo tiene abierto, cuando otro usuario trate de abrir ese form
no se lo permita. Quiero hacerlo modificando un flag en un registro de una
tabla el cual lo seteo al entrar al form y lo reseteo al salir del form.
Bien hasta ahi bien pero el problema es cuando hay un crash total o parcial
de la terminal y la aplicacion aborta. Resulta entonces que el form queda
bloqueado y ningun usuario puede accesar.

Ufff. Como puedo resolver eso con sql server ? Ojo: se que hay otras
opciones desde la aplicacion como crear archivos y eso pero el problema es
que quiero hacerlo todo por la BD para evitar acceso indebido a directorios
del servidor.

Gracias.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
11/12/2005 - 14:47 | Informe spam
Si lo que deseas es bloquear un form, no hay nada que hacer en SQL Server
pues debes resolverlo a nivel de la programación de tu capa de presentación
(donde tienes el form).

Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Alfredo Crisostomo" wrote in message
news:OYmwOWl$
Hola amigos.

En una aplicacion necesito tener acceso exclusivo a un form, es decir que
si un usuario lo tiene abierto, cuando otro usuario trate de abrir ese
form no se lo permita. Quiero hacerlo modificando un flag en un registro
de una tabla el cual lo seteo al entrar al form y lo reseteo al salir del
form. Bien hasta ahi bien pero el problema es cuando hay un crash total o
parcial de la terminal y la aplicacion aborta. Resulta entonces que el
form queda bloqueado y ningun usuario puede accesar.

Ufff. Como puedo resolver eso con sql server ? Ojo: se que hay otras
opciones desde la aplicacion como crear archivos y eso pero el problema es
que quiero hacerlo todo por la BD para evitar acceso indebido a
directorios del servidor.

Gracias.

Respuesta Responder a este mensaje
#2 qwalgrande
11/12/2005 - 15:36 | Informe spam
Hola.

Quizá pudieras crear una funcionalidad en tu aplicación que te permita
entrar a resetear el sistema, con un usuario administrador o algo así. Este
usuario podría entrar aún cuando el form esté en modo bloqueado.

qwalgrande


"Alfredo Crisostomo" escribió en el mensaje
news:OYmwOWl$
Hola amigos.

En una aplicacion necesito tener acceso exclusivo a un form, es decir que
si un usuario lo tiene abierto, cuando otro usuario trate de abrir ese
form no se lo permita. Quiero hacerlo modificando un flag en un registro
de una tabla el cual lo seteo al entrar al form y lo reseteo al salir del
form. Bien hasta ahi bien pero el problema es cuando hay un crash total o
parcial de la terminal y la aplicacion aborta. Resulta entonces que el
form queda bloqueado y ningun usuario puede accesar.

Ufff. Como puedo resolver eso con sql server ? Ojo: se que hay otras
opciones desde la aplicacion como crear archivos y eso pero el problema es
que quiero hacerlo todo por la BD para evitar acceso indebido a
directorios del servidor.

Gracias.

Respuesta Responder a este mensaje
#3 Jorge Martinez
11/12/2005 - 16:53 | Informe spam
Otra cosa que puedes hacer es que cuando un usuario entre en tu aplicacion
resetee todos sus bloqueos.

Salu2

"Alfredo Crisostomo" escribió en el mensaje
news:OYmwOWl$
Hola amigos.

En una aplicacion necesito tener acceso exclusivo a un form, es decir que
si un usuario lo tiene abierto, cuando otro usuario trate de abrir ese
form no se lo permita. Quiero hacerlo modificando un flag en un registro
de una tabla el cual lo seteo al entrar al form y lo reseteo al salir del
form. Bien hasta ahi bien pero el problema es cuando hay un crash total o
parcial de la terminal y la aplicacion aborta. Resulta entonces que el
form queda bloqueado y ningun usuario puede accesar.

Ufff. Como puedo resolver eso con sql server ? Ojo: se que hay otras
opciones desde la aplicacion como crear archivos y eso pero el problema es
que quiero hacerlo todo por la BD para evitar acceso indebido a
directorios del servidor.

Gracias.

Respuesta Responder a este mensaje
#4 yodelmis
12/12/2005 - 04:47 | Informe spam
Saludos Alfredo

Para este problema se me la variante que acontinuacion explico:

1. el la base de datos creo una tabla que Tenga la siguiente estructura
(NombreFormulario,MaquinaQueBloquea,fechahoradebloqueo)
Nota: con esta tabla podria controlar todos los formularios que quieras

2.Cuando el Usuario Carga La aplicacion, se verifica si el nombre de la
maquina esta bloqueando algun formulario y de ser asi resetea los campos
MaquinaQueBloque y fechahoradebloqueo
Nota: cuando el usuario termina de trabajar con el formulario dichos
valores se deben resetear, para que otros usuarios lo puedan utilizar.

3.cuando un usuario encuentra que el formulario esta bloquedo se calcula el
tiempo transcurrido desde el valor almacenado en el campo fechahoradebloqueo
y la hoar actual. Si el tiempo transcurrido es mayor que 1 hora se
resetearan la variables.


espero que esta solucion te sea util.
Respuesta Responder a este mensaje
#5 José Antonio
12/12/2005 - 08:46 | Informe spam
Y todos esto de bloquear formularios, para que lo utilizais?

Nunca me he visto en la necesidad de hacerlo.


"Alfredo Crisostomo" escribió en el mensaje
news:OYmwOWl$
Hola amigos.

En una aplicacion necesito tener acceso exclusivo a un form, es decir que
si un usuario lo tiene abierto, cuando otro usuario trate de abrir ese
form no se lo permita. Quiero hacerlo modificando un flag en un registro
de una tabla el cual lo seteo al entrar al form y lo reseteo al salir del
form. Bien hasta ahi bien pero el problema es cuando hay un crash total o
parcial de la terminal y la aplicacion aborta. Resulta entonces que el
form queda bloqueado y ningun usuario puede accesar.

Ufff. Como puedo resolver eso con sql server ? Ojo: se que hay otras
opciones desde la aplicacion como crear archivos y eso pero el problema es
que quiero hacerlo todo por la BD para evitar acceso indebido a
directorios del servidor.

Gracias.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida