Cuando debo usar Flock y cuando Rlock?

27/11/2004 - 03:30 por Néstor Cerecer | Informe spam
Pues, eso

Preguntas similare

Leer las respuestas

#6 Carlos Yohn Zubiria
30/11/2004 - 09:37 | Informe spam
'...generalmente obtienes el numero consecutivo al ultimo momento (al
guardar)...'

Así debería ser, siempre que el cliente te lo permita :-))
Tiene narices que en ocasiones hay que perder el correcto diseño por
caprichos del usuario.
¡Abajo el usuario!

Saludos,
A.G.P. (Aplicaciones de Gestión y Productividad)
Las Arenas - Vizcaya - España

"Alex Feldstein" escribió en el mensaje
news:
On Mon, 29 Nov 2004 20:32:51 -0400, "Ricardo Passians"
wrote:

>>
>>
>> En realidad nunca. Es mejor usar buffering y dejar que este se ocupe
>> de ello.
>>
>
>Cómo hacer por ejemplo que mientras dura una transacción ningún otro


usuario
>me modifique un registro de una tabla que guarda un consecutivo ? sería
>seguro sin rlock () ?

Para esa tabla si usaria RLock().
De todos modos, generalmente obtienes el numero consecutivo al ultimo
momento (al guardar).




Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net

Respuesta Responder a este mensaje
#7 Javier Yoris
30/11/2004 - 16:01 | Informe spam
¡Abajo el usuario!

¿y de que vivimos?
Respuesta Responder a este mensaje
#8 El foxero
02/12/2004 - 11:26 | Informe spam

Para esa tabla si usaria RLock().
De todos modos, generalmente obtienes el numero consecutivo al ultimo
momento (al guardar).




Yo en una transaccion (begin transaction) tengo que tomarlo al principio
cuando voy a usar este consecutivo en actualizaciones de integridad
siguientes como tablas de details dentro de la misma transaccion y tambien
tengo que usar rlock porque en la practica he visto que con el buffer no es
muy confiable.
Respuesta Responder a este mensaje
#9 Carlos Yohn Zubiria
02/12/2004 - 12:50 | Informe spam
Aun en ese caso (yo también tengo casos de esos) puees tomar el correlativo
al final: mientras se va rellenando los datos, se toma un nº cualquiera que
no tenga sentido, por ejemplo 999999999 las relaciones se establecen con ese
nº. Al validar obtienes el correcto y modificas todos los registros
necesarios.

Saludos,
A.G.P. (Aplicaciones de Gestión y Productividad)
Las Arenas - Vizcaya - España

"El foxero" escribió en el mensaje
news:
>
> Para esa tabla si usaria RLock().
> De todos modos, generalmente obtienes el numero consecutivo al ultimo
> momento (al guardar).
>

Yo en una transaccion (begin transaction) tengo que tomarlo al principio
cuando voy a usar este consecutivo en actualizaciones de integridad
siguientes como tablas de details dentro de la misma transaccion y


tambien
tengo que usar rlock porque en la practica he visto que con el buffer no


es
muy confiable.





Respuesta Responder a este mensaje
#10 El foxero
04/12/2004 - 13:15 | Informe spam
Parece que estamos confundidos, yo me refiero dentro de la transaccion,
begin-end trans , es decir cuando se va a salvar, no cuando se esta en la
pantalla de usuario.
Para saber cual es el proximo debo despues del begin transaction bloquear la
tabla del consecutivo, tomar el proximo, luego hacer las inserciones de
encabezado y detalle con el consecutivo generado y luego actualizar el
consecutivo. Algunos diran, porque no lo actualizas al principio el
consecutivo. Lo tenia asi y en la practica he tenido algunos problemas de
concurrencia. Lo mas seguro me ha resultado el bloqueo manual.


"Carlos Yohn Zubiria" wrote in
message news:
Aun en ese caso (yo también tengo casos de esos) puees tomar el


correlativo
al final: mientras se va rellenando los datos, se toma un nº cualquiera


que
no tenga sentido, por ejemplo 999999999 las relaciones se establecen con


ese
nº. Al validar obtienes el correcto y modificas todos los registros
necesarios.

Saludos,
A.G.P. (Aplicaciones de Gestión y Productividad)
Las Arenas - Vizcaya - España

"El foxero" escribió en el mensaje
news:
> >
> > Para esa tabla si usaria RLock().
> > De todos modos, generalmente obtienes el numero consecutivo al ultimo
> > momento (al guardar).
> >
>
> Yo en una transaccion (begin transaction) tengo que tomarlo al principio
> cuando voy a usar este consecutivo en actualizaciones de integridad
> siguientes como tablas de details dentro de la misma transaccion y
tambien
> tengo que usar rlock porque en la practica he visto que con el buffer no
es
> muy confiable.
>
>
>
>
>



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