Explication : Logique principale : vérification de l'existence des objets annuaires sources/cibles dans les métadonnées, récupération de leurs URIs, itération sur les fichiers associés à l'ancien répertoire et mise à jour de leur association parente vers le nouveau répertoire.
Copié !
data _null_;
/* Set the old and new IDs. */
%let olddir = 'A5STBUB8.B6000002';
%let newdir = 'A5STBUB8.B6000002';
/* Initialze variables. */
length type id old_uri new_uri file_uri $ 50;
call missing(of _character_);
/* Confirm the directories exist */
rc=metadata_resolve("omsobj:Directory? @code_sas_json/downside_frequency_test.json = &olddir",type,id);
if rc <= 0 then do;
put "ERROR: Supplied old directory object ID not found in Metadata";
stop;
end;
rc=metadata_resolve("omsobj:Directory? @code_sas_json/downside_frequency_test.json = &newdir",type,id);
if rc <= 0 then do;
put "ERROR: Supplied new directory object ID not found in Metadata";
stop;
end;
/* Get URIs */
rc=metadata_getnobj("omsobj:Directory? @code_sas_json/downside_frequency_test.json = &olddir",1,old_uri);
rc=metadata_getnobj("omsobj:Directory? @code_sas_json/downside_frequency_test.json = &newdir",1,new_uri);
/* Count files and update associations */
file_count=metadata_getnasn(old_uri,"Files",1,file_uri);
if file_count > 0 then do i=1 to file_count;
file_count=metadata_getnasn(old_uri,"Files",i,file_uri);
rc=metadata_setassn(file_uri,"Directories","REPLACE",new_uri);
put _all_;
end;
run;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
« Ce programme constitue un levier stratégique pour les administrateurs de plateformes SAS 9.4 confrontés à des réorganisations d'infrastructure ou des migrations de serveurs de fichiers. L'enjeu est ici la gouvernance des métadonnées : assurer que la couche logique SAS (les objets "Fichiers") reste correctement liée à la couche physique (les objets "Répertoires") après un changement d'URI.
Ce type d'utilitaire est le "scalpel" de l'administrateur. Étant donné que metadata_setassn effectue des modifications immédiates et définitives dans le référentiel Foundation, je recommande impérativement de réaliser une sauvegarde complète du serveur de métadonnées (Metadata Server Backup) avant toute exécution, car il n'existe pas d'option "Undo" native pour ces fonctions de bas niveau. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.