El script no utiliza datos en el sentido tradicional (tablas SAS). Lee y modifica objetos (metadatos) directamente en el servidor de metadatos SAS. Los 'datos' fuente son las definiciones de los contextos de servidor y las bibliotecas SAS almacenadas en los metadatos.
1 Bloque de código
OPTIONS
Explicación : Este bloque configura los parámetros de conexión al servidor de metadatos SAS 9 (host, puerto, credenciales, repositorio). Estas opciones son necesarias para que las funciones de metadatos puedan interactuar con el servidor. Este tipo de conexión está obsoleto en SAS Viya 4.
Explicación : Este DATA STEP _NULL_ (no crea una tabla) es el corazón del programa. Utiliza funciones de metadatos de SAS 9. Primero, usa `metadata_resolve` para encontrar la URI de un contexto de servidor de aplicaciones ('SASSTP'). Si se encuentra el contexto, ejecuta una segunda consulta para encontrar bibliotecas SAS. Para cada biblioteca encontrada, usa `metadata_setassn` para asociarle el contexto del servidor. Se emiten mensajes de error y el programa se detiene si no se encuentran el contexto o las bibliotecas.
¡Copiado!
data _null_;
/* Initialize variables. */
length type id app_uri lib_uri $ 50;
call missing(of _character_);
/* Define query for the Application Server Context */
/* to add to the libraries and search for it. */
appobj="omsobj:ServerContext? @Name='SASSTP'";
app_count=metadata_resolve(appobj,type,id);
/* If no context matches this query, stop the program with an error. */
if app_count <= 0 then do;
put "ERROR: No application server context found matching query " appobj;
stop;
end;
else do;
/* Extract the URI of the context if it exists. */
rc=metadata_getnobj(appobj,1,app_uri);
/* Define the query for the libraries to be updated and search for them. */
libobj="omsobj:SASLibrary? @code_sas_json/RFValid.json contains '.'";
lib_count=metadata_resolve(libobj,type,id);
/* If no libraries match the query, stop the program with an error. */
if lib_count <= 0 then do;
put "ERROR: No libraries found matching query " libobj;
stop;
end;
/* If libraries are found, for each one append */
/* the context to its list of associated contexts. */
else do n=1 to lib_count;
rc=metadata_getnobj(libobj,1,lib_uri);
rc=metadata_setassn(lib_uri,"DeployedComponents","Append",app_uri);
end;
end;
run;
1
DATA _null_;
2
3
/* Initialize variables. */
4
5
LENGTH type id app_uri lib_uri $ 50;
6
call missing(of _character_);
7
8
/* Define query for the Application Server Context */
9
/* to add to the libraries and search for it. */
10
11
appobj="omsobj:ServerContext? @Name='SASSTP'";
12
app_count=metadata_resolve(appobj,type,id);
13
14
/* If no context matches this query, stop the program with an error. */
15
16
IF app_count <= 0 THENDO;
17
put "ERROR: No application server context found matching query " appobj;
18
stop;
19
END;
20
ELSEDO;
21
22
/* Extract the URI of the context if it exists. */
23
24
rc=metadata_getnobj(appobj,1,app_uri);
25
26
/* Define the query for the libraries to be updated and search for them. */
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
« En la administración de SAS 9.4, la relación entre una biblioteca (SASLibrary) y su servidor de aplicaciones (como SASApp o SASSTP) se gestiona mediante la asociación de metadatos DeployedComponents. Este script es una herramienta administrativa potente para asignar bibliotecas de forma masiva, algo esencial durante migraciones de servidor o al escalar entornos con nuevos contextos de ejecución. »
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.