Veröffentlicht am :
Verwaltung CREATION_INTERNE

Metadatenextraktion von Datenbankbibliotheken

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Dieses Programm stellt eine Verbindung zu einem SAS©-Metadatenserver (SAS© 9-Technologie) her, um DBMS-Bibliotheken zu inventarisieren. Es verwendet die SAS©-Metadaten-Schnittstellenfunktionen (`metadata_resolve`, `metadata_get...`), um Konfigurationsinformationen wie den Bibliotheksnamen, den Anwendungsserver, das Schema, den Datenbankserver, die Quellverbindungen und die Authentifizierungsdomänen zu extrahieren. Obwohl technisch in SAS© Viya ausführbar, hängt es von der Existenz und Verbindung zu einem Legacy SAS© 9-Metadatenserver ab.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden dynamisch durch Abfragen der Metadatenserver-Objekte über Systemfunktionsaufrufe generiert.

1 Codeblock
GLOBAL OPTIONS
Erklärung :
Definition der Verbindungsparameter zum SAS 9 Metadatenserver (Host, Port, Anmeldeinformationen, Metadaten-Repository und Protokoll).
Kopiert!
1options
2 metaserver="<hostname>"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="<password>"
6 metarepository=Foundation
7 metaprotocol=bridge;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser Data-Step-Block führt die primäre Metadatenextraktion durch. Er sucht nach 'SASLibrary'-Objekten, die als DBMS-Bibliotheken (Datenbankverwaltungssystem) konfiguriert sind, mittels der Funktion `metadata_resolve`. Für jede gefundene Bibliothek iteriert er, um spezifische Attribute (Bibliotheksname, Benutzer, Schema usw.) und Informationen zu verknüpften Objekten (Login, Schema, Verbindung, Authentifizierungsdomäne) unter Verwendung der Funktionen `metadata_getnasn` (für Objektassoziationen) und `metadata_getattr` (für Objektattribute) abzurufen. Die Ergebnisse werden anschließend in der temporären Tabelle 'work.libinfo' gespeichert.
Kopiert!
1DATA work.libinfo;
2 
3 /*declare and initialize variables */
4 LENGTH
5 type user schema $ 20
6 lib_uri lib_name app_uri app_name schema_uri login_uri dom_uri
7 dbms_uri dbms_name conn_uri prop_uri datasrc authdomain $ 50
8 id $ 17;
9 keep lib_name app_name user schema dbms_name datasrc authdomain;
10 call missing(of _character_);
11 
12 obj="omsobj:SASLibrary? @IsDBMSLibname = '1'";
13 
14 /* Search Metadata for libraries */
15 libcount=metadata_resolve(obj,type,id);
16 put "INFO: Found " libcount "database libraries.";
17 
18 IF libcount > 0 THEN DO n=1 to libcount;
19 rc=metadata_getnobj(obj,n,lib_uri);
20 rc=metadata_getattr(lib_uri,"Name",lib_name);
21 rc=metadata_getnasn(lib_uri,"DefaultLogin",1,login_uri);
22 rc=metadata_getattr(login_uri,"UserID",user);
23 rc=metadata_getnasn(lib_uri,"DeployedComponents",1,app_uri);
24 rc=metadata_getattr(app_uri,"Name",app_name);
25 rc=metadata_getnasn(lib_uri,"UsingPackages",1,schema_uri);
26 rc=metadata_getattr(schema_uri,"SchemaName",schema);
27 rc=metadata_getnasn(schema_uri,"DeployedComponents",1,dbms_uri);
28 rc=metadata_getattr(dbms_uri,"Name",dbms_name);
29 rc=metadata_getnasn(dbms_uri,"SourceConnections",1,conn_uri);
30 rc=metadata_getnasn(conn_uri,"Properties",1,prop_uri);
31 rc=metadata_getattr(prop_uri,"DefaultValue",datasrc);
32 rc=metadata_getnasn(conn_uri,"Domain",1,dom_uri);
33 rc=metadata_getattr(dom_uri,"Name",authdomain);
34 OUTPUT; /* Push results to table */
35 END;
36 ELSE put "INFO: No libraries to resolve.";
37RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.