FoxPro/Visual FoxPro - Compartir base de datos en una red

 
Vista:

Compartir base de datos en una red

Publicado por Arnaldo (18 intervenciones) el 20/06/2006 14:12:15
Hola a todos. quisiera preguntar como hago para configurar una base de datos en red, de forma tal que los formularios que se usan en las terminales, deben bloquear solo el registro de tabla que esten mostrando en ese instante. Tabla que esta alojada en otro equípo, luego al cambiar de registro debe liberarlo, para que otros usuarios de la red puedan usarlo.

Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Compartir base de datos en una red

Publicado por Plinio (7841 intervenciones) el 20/06/2006 15:28:29
Si estas trabajando con Buffering usa el metodo pesimista (ver propiedad BufferModeOverride) en el data environment. Tambien chequea SET MULTILOCK en la ayuda.

De otra manera chequea RLOCK(), LOck(), UNLUCK, SET REPROCESS en la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Compartir base de datos en una red

Publicado por Ernesto Hernandez (4623 intervenciones) el 20/06/2006 18:25:17
Ejemplo RLOCK() este sirve para bloquear el registro el ejemplo esta en al ayuda de VFP 9

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
SET REPROCESS TO 3 AUTOMATIC
STORE '1,2,3,4' TO gcRecList
gcOldExc = SET('EXCLUSIVE')
SET EXCLUSIVE OFF
SELECT 0
USE employee && Open Employee table
SELECT 0
USE customer && Open Customer table
? LOCK('1,2,3,4', 'customer') && Lock 1st 4 records in customer
? RLOCK(gcRecList, 'employee') && Lock 1st 4 records in employee
UNLOCK IN customer
UNLOCK IN employee
SET EXCLUSIVE &gcOldExc

Ejemplo UNLOCK() este sirve para desbloquear el registro el ejemplo tambien esta en al ayuda de VFP 9

CLOSE DATABASES
SET REPROCESS TO 3 AUTOMATIC
STORE '1,2,3,4' TO gcRecList && Lock records 1 through 4
gcOldExc = SET('EXCLUSIVE') && Save the EXCLUSIVE setting
SET EXCLUSIVE OFF && Allow sharing of tables

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table
SELECT 0
USE employee && Opens Employee table

? LOCK('1,2,3,4', 'customer') && Lock the first 4 records in customer
? RLOCK(gcRecList, 'employee') && Lock the first 4 records in employee

UNLOCK IN customer
UNLOCK IN employee
SET EXCLUSIVE &gcOldExc && Restore original EXCLUSIVE setting


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar