Le script n'utilise pas de données tabulaires SAS classiques. Il interroge et modifie le référentiel de métadonnées (Metadata Repository) via des fonctions DATA Step spécialisées (metadata_resolve, metadata_getnobj, metadata_setassn).
1 Bloc de code
OPTIONS
Explication : Configuration des paramètres de connexion au serveur de métadonnées SAS 9 (hôte, port, utilisateur, mot de passe, référentiel).
Explication : Étape DATA _NULL_ contenant la logique métier : interrogation du serveur de métadonnées pour trouver l'URI du serveur d'application, recherche des bibliothèques cibles, et boucle d'assignation (ajout de l'association 'DeployedComponents' avec 'metadata_setassn').
Copié !
data _null_;
length type id app_uri lib_uri $ 50;
call missing(of _character_);
/* Recherche du contexte serveur SASSTP */
appobj="omsobj:ServerContext? @Name='SASSTP'";
app_count=metadata_resolve(appobj,type,id);
if app_count <= 0 then do;
put "ERROR: No application server context found matching query " appobj;
stop;
end;
else do;
/* Récupération de l'URI du contexte */
rc=metadata_getnobj(appobj,1,app_uri);
/* Recherche des bibliothèques cibles */
libobj="omsobj:SASLibrary? ..."; /* Partie corrompue dans l'entrée originale */
lib_count=metadata_resolve(libobj,type,id);
if lib_count <= 0 then do;
put "ERROR: No libraries found matching query " libobj;
stop;
end;
else do n=1 to lib_count;
/* Boucle de mise à jour des métadonnées */
rc=metadata_getnobj(libobj,1,lib_uri);
rc=metadata_setassn(lib_uri,"DeployedComponents","Append",app_uri);
end;
end;
run;
1
DATA _null_;
2
LENGTH type id app_uri lib_uri $ 50;
3
call missing(of _character_);
4
5
/* Recherche du contexte serveur SASSTP */
6
appobj="omsobj:ServerContext? @Name='SASSTP'";
7
app_count=metadata_resolve(appobj,type,id);
8
9
IF app_count <= 0 THENDO;
10
put "ERROR: No application server context found matching query " appobj;
11
stop;
12
END;
13
ELSEDO;
14
/* Récupération de l'URI du contexte */
15
rc=metadata_getnobj(appobj,1,app_uri);
16
17
/* Recherche des bibliothèques cibles */
18
libobj="omsobj:SASLibrary? ..."; /* Partie corrompue dans l'entrée originale */
19
lib_count=metadata_resolve(libobj,type,id);
20
21
IF lib_count <= 0 THENDO;
22
put "ERROR: No libraries found matching query " libobj;
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.
Informations de Copyright : Author: Greg Wootton Date: 16JUN2017
« Le couplage entre une bibliothèque et un contexte serveur (comme SASSTP) via l'association DeployedComponents est ce qui rend vos données visibles et exploitables par les serveurs de calcul. L'automatisation de ce lien par programmation est une technique d'administration avancée qui permet de garantir qu'une nouvelle bibliothèque est instantanément disponible pour vos Stored Processes ou vos utilisateurs Workspace sans intervention manuelle dans la console. »
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.