accessControl checkOutObject

Shared-Lock auf Bibliotheksebene für Migrationstests

Scénario de test & Cas d'usage

Geschäftskontext

Ein Data-Warehouse-Team führt Validierungstests auf einer gesamten Caslib durch, die historische Verkaufsdaten enthält. Sie wollen verhindern, dass jemand während der Prüfung eine exklusive Sperre auf die Bibliothek setzt (z. B. um sie zu löschen), aber parallele Lesezugriffe sollen erlaubt bleiben.
Über das Set : accessControl

Verwaltung von Zugriffsrechten und Datensicherheit.

Entdecken Sie alle Aktionen von accessControl
Datenaufbereitung

Erstellung einer Caslib 'history' mit mehreren umfangreichen Tabellen zur Simulation von Volumen.

Kopiert!
1 
2PROC CAS;
3caslib history path='/tmp/history' dataSource={srcType='path'};
4 
5DATA history.sales_2023;
6DO i=1 to 10000;
7region='Europe';
8amount=rand('Uniform');
9OUTPUT;
10END;
11 
12RUN;
13 
14DATA history.sales_2024;
15DO i=1 to 10000;
16region='Asia';
17amount=rand('Uniform');
18OUTPUT;
19END;
20 
21RUN;
22 
23QUIT;
24 

Étapes de réalisation

1
Initialisierung der Transaktion.
Kopiert!
1 
2PROC CAS;
3ACCESSCONTROL.startTransaction;
4 
5RUN;
6 
7QUIT;
8 
2
Setzen einer 'SHARED' Sperre auf die gesamte Caslib.
Kopiert!
1 
2PROC CAS;
3ACCESSCONTROL.checkOutObject / checkOutType='SHARED' objectSelector={objType='CASLIB', caslib='history'};
4 
5RUN;
6 
7QUIT;
8 

Erwartetes Ergebnis


Die Caslib 'history' erhält einen Shared-Status. Das bedeutet, dass kein anderer Nutzer die Caslib exklusiv sperren oder löschen kann, parallele Operationen auf den enthaltenen Tabellen jedoch möglich bleiben.