Accesso multiutenteSto lavorando a una soluzione che vivrà su un'unità di rete, a cui accedono più utenti in modo asincrono. In particolare, ho diverse tabelle "database" a cui gli utenti aggiungeranno righe, in cui le righe contengono quindi collegamenti alla tabella dati completa inviata.
Esiste un modo integrato per gestire i permessi di accesso ai file in una situazione come questa? Voglio evitare una situazione in cui un utente apre la tabella "database" e dimentica di chiuderla, bloccando tutti gli altri fuori dallo strumento. Potrei codificare nella mia variazione su un mutex, ma non voglio reinventare la ruota se esiste una soluzione semplice e integrata. La soluzione ideale sarebbe una sorta di script JSL che invia una riga di dati a una tabella di dati senza bloccare la tabella di dati.
Re: Accesso multiutentePer essere chiari, quando dici tabelle "database", intendi tabelle JMP?
Non sono a conoscenza di alcuna capacità di eseguire il blocco delle righe: JMP è intrinsecamente utente singolo, quindi presumo che non abbia tale capacità.Questo è ciò che faccio:
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);
);