Acceso multiusuarioEstoy trabajando en una solución que vivirá en una unidad de red, a la que accederán varios usuarios de forma asíncrona. Específicamente, tengo varias tablas de "base de datos" a las que los usuarios agregarán filas, donde las filas luego contendrán enlaces a sus datos completos enviados.
¿Hay alguna forma integrada de administrar los permisos de acceso a archivos en una situación como esta? Quiero evitar una situación en la que un usuario abra la tabla de "base de datos" y se olvide de cerrarla, bloqueando a todos los demás fuera de la herramienta. Podría codificar mi propia variación en un mutex, pero no quiero reinventar la rueda si hay una solución incorporada y fácil. La solución ideal sería algún tipo de script JSL que envíe una fila de datos a una tabla de datos sin tener que bloquear la tabla de datos.
Re: Acceso multiusuarioPara que quede claro, cuando dices tablas de "base de datos", ¿te refieres a tablas JMP?
No tengo conocimiento de ninguna capacidad para realizar el bloqueo de filas: JMP es inherentemente de un solo usuario, por lo que asumo que no tiene esa capacidad. Esto es lo que hago:
openSharedTable= Function({filePath},{default local},
isLocked = 1;
nAttempts = 200;
delay = 0.1;
attempts = 0;
While(isLocked & attempts < nAttempts,
attempts++;
dt = open(filePath,Invisible);
value = dt << Get Table Variable("Locked File");
If (value=="",
isLocked = 0
,
Close(dt,NoSave);
Wait(delay);
);
);
return(dt);
);