MehrbenutzerzugriffIch arbeite an einer Lösung, die auf einem Netzlaufwerk leben wird, auf das von mehreren Benutzern asynchron zugegriffen werden kann. Insbesondere habe ich mehrere "Datenbank"-Tabellen, denen Benutzer Zeilen hinzufügen, wobei die Zeilen dann Links zu ihrer vollständig übermittelten Datentabelle enthalten.
Gibt es eine integrierte Möglichkeit, Dateizugriffsberechtigungen in einer solchen Situation zu verwalten? Ich möchte eine Situation vermeiden, in der ein Benutzer die Tabelle "Datenbank" öffnet und vergisst, sie zu schließen, wodurch alle anderen vom Tool ausgeschlossen werden. Ich könnte meine eigene Variation eines Mutex codieren, aber ich möchte das Rad nicht neu erfinden, wenn es eine eingebaute, einfache Lösung gibt. Die ideale Lösung wäre eine Art JSL-Skript, das eine Datenzeile an eine Datentabelle sendet, ohne die Datentabelle zu sperren.
Betreff: MehrbenutzerzugriffNur um das klarzustellen: Wenn Sie "Datenbanktabellen" sagen, meinen Sie JMP-Tabellen?
Mir ist keine Möglichkeit zum Sperren von Zeilen bekannt - JMP ist von Natur aus ein Einzelbenutzer, daher gehe ich davon aus, dass es diese Fähigkeit nicht hat.Das ist was ich mache:
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);
);