Attention : Este código requiere privilegios de administrador.
La acción `table.addCaslib` del conjunto de acciones `Table` se utiliza para crear una caslib Oracle. Los parámetros esenciales incluyen el nombre de la caslib, el tipo de fuente de datos (`srctype="oracle"`), la información de autenticación (nombre de usuario y contraseña), y la ruta de conexión a la base de datos Oracle (formato `//<host_bd>:<puerto>/<nombre_bd>`). Una vez añadida la caslib, las tablas Oracle se pueden cargar en la memoria CAS para análisis distribuidos.
Análisis de datos
Type : CREATION_INTERNE
Los ejemplos utilizan datos generados (datalines) o SASHELP e información de conexión simulada para la base de datos Oracle.
1 Bloque de código
PROC CAS / table.addCaslib
Explicación : Este ejemplo muestra la adición más simple de una caslib Oracle. Especifica el nombre de la caslib ('orlib'), el tipo de fuente ('oracle'), las credenciales de conexión y la ruta de acceso a la base de datos. Intenta eliminar la caslib si ya existe antes de crearla para asegurar un entorno limpio.
¡Copiado!
/* 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 Bloque de código
PROC CAS / table.addCaslib
Explicación : Este ejemplo extiende el caso básico añadiendo opciones comunes. 'globals=TRUE' hace que la caslib sea accesible a todas las sesiones CAS, y 'subdirs=TRUE' permite que la caslib acceda a los subdirectorios de la ruta especificada en la base de datos. También se añade una descripción para una mejor documentación.
¡Copiado!
/* 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 Bloque de código
PROC CAS / table.addCaslib
Explicación : Este ejemplo avanzado integra lógica de verificación y gestión de errores. Primero verifica la existencia de la caslib y la elimina si es necesario. Luego, intenta añadir la caslib y muestra un mensaje de éxito o fracaso basado en la severidad del resultado de la acción CAS, lo cual es crucial para scripts automatizados o entornos de producción. El nombre de la caslib se define dinámicamente.
¡Copiado!
/* 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 Bloque de código
PROC CAS / table.addCaslib / table.loadtable Data
Explicación : Este ejemplo destaca una integración más profunda con SAS Viya utilizando un dominio de autenticación (`authdomain`) preconfigurado en el servidor CAS. Esto centraliza la gestión de la información de identificación y mejora la seguridad. El ejemplo simula una tabla Oracle y muestra cómo cargar esta tabla en la memoria CAS a través de la caslib recién creada, y luego muestra una vista previa de los datos. Se incluye una limpieza para eliminar los objetos creados.
¡Copiado!
/* 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 */
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.
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.