Attention : Dieser Code erfordert Administratorrechte.
Die Aktion `table.addCaslib` des Aktionssets `Table` wird verwendet, um eine Oracle Caslib zu erstellen. Wesentliche Parameter umfassen den Namen der Caslib, den Datentyp der Quelle (`srctype="oracle"`), Authentifizierungsinformationen (Benutzername und Passwort) und den Verbindungspfad zur Oracle-Datenbank (Format `//<db_host>:<port>/<db_name>`). Sobald die Caslib hinzugefügt wurde, können Oracle-Tabellen für verteilte Analysen in den CAS-Speicher geladen werden.
Datenanalyse
Type : CREATION_INTERNE
Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP und simulierte Verbindungsinformationen für die Oracle-Datenbank.
1 Codeblock
PROC CAS / table.addCaslib
Erklärung : Dieses Beispiel zeigt das einfachste Hinzufügen einer Oracle Caslib. Es gibt den Caslib-Namen ('orlib'), den Quelltyp ('oracle'), die Anmeldeinformationen und den Datenbankpfad an. Es versucht, die Caslib zu löschen, falls sie bereits existiert, bevor sie erstellt wird, um eine saubere Umgebung zu gewährleisten.
Kopiert!
/* Démarrer une session CAS si ce n'est pas déjà fait */
options cashost="cloud.example.com" casport=5570;
cas casauto;
proc cas;
session casauto;
/* Supprimer la caslib si elle existe déjà pour éviter les erreurs */
simple.dropCaslib / caslib='orlib';
/* Ajouter une caslib Oracle avec les informations de connexion minimales */
table.addCaslib result=r /
caslib="orlib",
datasource={
srctype="oracle",
username="myuser",
password="mypass",
path="//oradb.example.com:1521/mydb"
};
print r;
run;
quit;
1
/* Démarrer une session CAS si ce n'est pas déjà fait */
2
options cashost="cloud.example.com" casport=5570;
3
cas casauto;
4
5
PROC CAS;
6
SESSION casauto;
7
/* Supprimer la caslib si elle existe déjà pour éviter les erreurs */
8
SIMPLE.dropCaslib / caslib='orlib';
9
10
/* Ajouter une caslib Oracle avec les informations de connexion minimales */
11
TABLE.addCaslib RESULT=r /
12
caslib="orlib",
13
datasource={
14
srctype="oracle",
15
username="myuser",
16
password="mypass",
17
path="//oradb.example.com:1521/mydb"
18
};
19
20
PRINT r;
21
RUN;
22
QUIT;
23
2 Codeblock
PROC CAS / table.addCaslib
Erklärung : Dieses Beispiel erweitert den Basisfall um gängige Optionen. 'globals=TRUE' macht die Caslib für alle CAS-Sitzungen zugänglich, und 'subdirs=TRUE' ermöglicht der Caslib den Zugriff auf Unterverzeichnisse des in der Datenbank angegebenen Pfads. Eine Beschreibung wird ebenfalls hinzugefügt, um die Dokumentation zu verbessern.
Kopiert!
/* Démarrer une session CAS si ce n'est pas déjà fait */
options cashost="cloud.example.com" casport=5570;
cas casauto;
proc cas;
session casauto;
/* Supprimer la caslib si elle existe déjà */
simple.dropCaslib / caslib='global_orlib';
/* Ajouter une caslib Oracle, la rendant globale et permettant l'accès aux sous-répertoires */
table.addCaslib result=r /
caslib="global_orlib",
description="Caslib Oracle globale avec sous-répertoires",
path="//oradb.example.com:1521/mydb",
datasource={
srctype="oracle",
username="myuser",
password="mypass"
},
globals=TRUE,
subdirs=TRUE;
print r;
/* Lister les caslibs pour vérifier la nouvelle entrée */
table.caslibInfo result=r_info;
print r_info;
run;
quit;
1
/* Démarrer une session CAS si ce n'est pas déjà fait */
2
options cashost="cloud.example.com" casport=5570;
3
cas casauto;
4
5
PROC CAS;
6
SESSION casauto;
7
/* Supprimer la caslib si elle existe déjà */
8
SIMPLE.dropCaslib / caslib='global_orlib';
9
10
/* Ajouter une caslib Oracle, la rendant globale et permettant l'accès aux sous-répertoires */
11
TABLE.addCaslib RESULT=r /
12
caslib="global_orlib",
13
description="Caslib Oracle globale avec sous-répertoires",
14
path="//oradb.example.com:1521/mydb",
15
datasource={
16
srctype="oracle",
17
username="myuser",
18
password="mypass"
19
},
20
globals=TRUE,
21
subdirs=TRUE;
22
23
PRINT r;
24
25
/* Lister les caslibs pour vérifier la nouvelle entrée */
26
TABLE.caslibInfo RESULT=r_info;
27
PRINT r_info;
28
RUN;
29
QUIT;
30
3 Codeblock
PROC CAS / table.addCaslib
Erklärung : Dieses erweiterte Beispiel integriert Prüf- und Fehlerbehandlungslogik. Es prüft zunächst, ob die Caslib existiert, und löscht sie gegebenenfalls. Anschließend wird versucht, die Caslib hinzuzufügen, und eine Erfolgs- oder Fehlermeldung basierend auf dem Schweregrad des CAS-Aktionsergebnisses angezeigt, was für automatisierte Skripte oder Produktionsumgebungen entscheidend ist. Der Caslib-Name wird dynamisch definiert.
Kopiert!
/* Démarrer une session CAS si ce n'est pas déjà fait */
options cashost="cloud.example.com" casport=5570;
cas casauto;
proc cas;
session casauto;
/* Nom dynamique pour la caslib */
caslib_name = 'orlib_dynamic';
/* Vérifier si la caslib existe déjà avant de tenter de l'ajouter */
table.caslibinfo result=caslib_status / caslib=caslib_name;
if (caslib_status.caslibinfo.Name = caslib_name) then do;
print 'NOTE: Caslib ' || caslib_name || ' existe déjà. Suppression en cours...';
simple.dropCaslib / caslib=caslib_name;
print 'NOTE: Caslib ' || caslib_name || ' supprimée.';
end;
/* Ajouter la caslib Oracle avec gestion d'erreurs et affichage du statut */
table.addCaslib result=r /
caslib=caslib_name,
datasource={
srctype="oracle",
username="myuser",
password="mypass",
path="//oradb.example.com:1521/mydb"
};
if (r.severity = 0) then do;
print 'NOTE: Caslib ' || caslib_name || ' ajoutée avec succès.';
end else do;
print 'ERREUR: Échec de l''ajout de la caslib ' || caslib_name;
print r;
end;
run;
quit;
1
/* Démarrer une session CAS si ce n'est pas déjà fait */
2
options cashost="cloud.example.com" casport=5570;
3
cas casauto;
4
5
PROC CAS;
6
SESSION casauto;
7
8
/* Nom dynamique pour la caslib */
9
caslib_name = 'orlib_dynamic';
10
11
/* Vérifier si la caslib existe déjà avant de tenter de l'ajouter */
/* Ajouter la caslib Oracle avec gestion d'erreurs et affichage du statut */
21
TABLE.addCaslib RESULT=r /
22
caslib=caslib_name,
23
datasource={
24
srctype="oracle",
25
username="myuser",
26
password="mypass",
27
path="//oradb.example.com:1521/mydb"
28
};
29
30
IF (r.severity = 0) THENDO;
31
PRINT'NOTE: Caslib ' || caslib_name || ' ajoutée avec succès.';
32
ENDELSEDO;
33
PRINT'ERREUR: Échec de l''ajout de la caslib ' || caslib_name;
34
PRINT r;
35
END;
36
37
RUN;
38
QUIT;
39
4 Codeblock
PROC CAS / table.addCaslib / table.loadtable Data
Erklärung : Dieses Beispiel zeigt eine tiefere Integration mit SAS Viya durch die Verwendung einer vorkonfigurierten Authentifizierungsdomäne (`authdomain`) auf dem CAS-Server. Dies zentralisiert die Verwaltung von Anmeldeinformationen und verbessert die Sicherheit. Das Beispiel simuliert dann eine Oracle-Tabelle und zeigt, wie diese Tabelle über die neu erstellte Caslib in den CAS-Speicher geladen wird, und zeigt eine Vorschau der Daten an. Eine Bereinigung ist enthalten, um die erstellten Objekte zu entfernen.
Kopiert!
/* Démarrer une session CAS si ce n'est pas déjà fait */
options cashost="cloud.example.com" casport=5570;
cas casauto;
proc cas;
session casauto;
/* Création de données d'exemple pour simuler une table Oracle */
data mydata;
input ID $ Name $ Value;
datalines;
101 Apple 25
102 Banana 30
103 Orange 45
;
run;
/* Supprimer la caslib si elle existe déjà */
simple.dropCaslib / caslib='orlib_ad';
/* Ajouter une caslib Oracle en utilisant un domaine d'authentification (authdomain) */
/* Note: L'authdomain 'oracle_auth' doit être préconfiguré sur le serveur CAS */
table.addCaslib result=r /
caslib="orlib_ad",
datasource={
srctype="oracle",
authdomain="oracle_auth", /* Utilise un domaine d'authentification Viya */
path="//oradb.example.com:1521/mydb"
};
print r;
/* Si la caslib a été ajoutée avec succès, tenter de charger une table */
if (r.severity = 0) then do;
/* Simuler une table existante dans Oracle en créant une table temporaire CAS */
data casuser.my_oracle_table;
set mydata;
run;
/* Charger une table depuis la caslib Oracle (simulée) vers la mémoire CAS */
table.loadtable result=lr /
caslib="orlib_ad",
path="MY_ORACLE_TABLE", /* Nom de la table dans la base de données Oracle */
casout={
name="my_cas_table",
replace=TRUE
};
print lr;
/* Afficher les 5 premières lignes de la table chargée */
table.fetch casout.my_cas_table / to=5;
end;
/* Nettoyage: Supprimer la table chargée et la caslib */
table.droptable / caslib='casuser' name='my_cas_table';
simple.dropCaslib / caslib='orlib_ad';
run;
quit;
1
/* Démarrer une session CAS si ce n'est pas déjà fait */
2
options cashost="cloud.example.com" casport=5570;
3
cas casauto;
4
5
PROC CAS;
6
SESSION casauto;
7
8
/* Création de données d'exemple pour simuler une table Oracle */
9
DATA mydata;
10
INPUT ID $ Name $ Value;
11
DATALINES;
12
101 Apple 25
13
102 Banana 30
14
103 Orange 45
15
;
16
RUN;
17
18
/* Supprimer la caslib si elle existe déjà */
19
SIMPLE.dropCaslib / caslib='orlib_ad';
20
21
/* Ajouter une caslib Oracle en utilisant un domaine d'authentification (authdomain) */
22
/* Note: L'authdomain 'oracle_auth' doit être préconfiguré sur le serveur CAS */
23
TABLE.addCaslib RESULT=r /
24
caslib="orlib_ad",
25
datasource={
26
srctype="oracle",
27
authdomain="oracle_auth", /* Utilise un domaine d'authentification Viya */
28
path="//oradb.example.com:1521/mydb"
29
};
30
PRINT r;
31
32
/* Si la caslib a été ajoutée avec succès, tenter de charger une table */
33
IF (r.severity = 0) THENDO;
34
/* Simuler une table existante dans Oracle en créant une table temporaire CAS */
35
DATA casuser.my_oracle_table;
36
SET mydata;
37
RUN;
38
39
/* Charger une table depuis la caslib Oracle (simulée) vers la mémoire CAS */
40
TABLE.loadtable RESULT=lr /
41
caslib="orlib_ad",
42
path="MY_ORACLE_TABLE", /* Nom de la table dans la base de données Oracle */
43
casout={
44
name="my_cas_table",
45
replace=TRUE
46
};
47
PRINT lr;
48
49
/* Afficher les 5 premières lignes de la table chargée */
50
TABLE.fetch casout.my_cas_table / to=5;
51
END;
52
53
/* Nettoyage: Supprimer la table chargée et la caslib */
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.