tutorial support miner help guide sas enterprise-guide

support - ¿Se puede usar PC SAS para eludir la conexión SAS EG a la sesión de Unix?



sas enterprise miner (3)

Hemos migrado nuestro almacén de datos y se nos solicita usar SAS EG para conectarnos a un servidor de metadatos donde están todas nuestras bibliotecas.

¿Hay alguna manera de seguir usando PC SAS para conectarse a esas bibliotecas? Si es así, ¿alguna pista sobre cómo hacer esto?

Prefiero usar Base SAS por varias razones, una de ellas es que con SAS EG, si nuestro servidor de metadatos está inactivo (lo que sucede mucho), entonces no puedo autenticar mi sesión, por lo tanto estoy equivocado.

Además, la mayor parte de mi codificación SAS no requiere que acceda a ese almacén de datos específico, así que prefiero no estar vinculado a SAS EG.


En su mayoría, esta es una pregunta para los administradores del almacén de datos de su sitio (las personas que controlan el acceso a su almacén de datos). Es posible o no que sea posible conectarse directamente al almacén de datos, dependiendo de cómo esté configurado y cómo se realiza la autorización. A menudo la respuesta es no, y está configurado específicamente para evitar permitir esto (ya que es una manera fácil de manejar la autenticación).

Aparte de eso, su segundo punto no significa que no pueda usar Enterprise Guide y evitar el servidor de metadatos. En Enterprise Guide, puede seleccionar en qué servidor ejecutar el código, que debe incluir la opción para el "servidor local", que es su instalación Base SAS local. (De hecho, así es como uso Enterprise Guide 100%). Por lo tanto, si el servidor de metadatos está inactivo, o si por otras razones desea evitar conectarse a él, simplemente puede abrir EG con un perfil de Conexión local y ejecutar código localmente.


Hay un par de IF grandes.

  1. Si tiene una licencia para ejecutar SAS en su escritorio.

  2. Si tiene una licencia para el motor ACCESS correcto en su computadora de escritorio SAS.

  3. El almacén de datos / base de datos tiene permisos para iniciar sesión de forma remota a través del motor ACCESS.

Si todos esos son verdaderos, entonces sí. Si no, no.


Sí, por supuesto, puede conectarse a una biblioteca definida por metadatos desde PC SAS: ¡solo se requieren dos instrucciones!

options metaserver="YourMetaserver.domain" metaport=8561 /* as appropriate */ metauser="YourMetadataUserID" metapass="YourMetadataP*ssw*rd"; libname YourLibref meta library="The library name given in metadata";

Personalmente, prefiero trabajar con librefs que recordar los nombres de la biblioteca, así que escribí lo siguiente para asignarlo según corresponda (primero debe conectarse al servidor de metadatos, a través de la declaración de opciones anterior)

%macro assign_lib( libref= /* libref that needs to be assigned */ ); %if %sysfunc(libref(&libref)) %then %do; data _null_; length lib_uri LibName $200; call missing(of _all_); nobj=metadata_getnobj("omsobj:SASLibrary?@Libref=''&libref''",1,lib_uri); if nobj=1 then do; rc=metadata_getattr(lib_uri,"Name",LibName); call symputx(''LIB'',libname,''L''); end; else if nobj>1 then do; putlog "ERROR: More than one library registered with libref &libref"; end; else do; putlog "ERROR: Library &libref not found in metadata"; end; run; libname &libref meta library="&lib"; %if %sysfunc(libref(&libref)) %then %do; %put WARNING: Library &libref not assigned!; %end; %end; %else %put NOTE: Library &libref is already assigned; %mend;

usar de la siguiente manera:

%assign_lib(libref=SVRLIBRF)