Los ejemplos utilizan datos generados (datalines) o SASHELP, así como referencias a tablas SQL Server ficticias.
1 Bloque de código
CASLIB Data
Explicación : Este ejemplo establece una conexión básica entre el servidor CAS y una base de datos Microsoft SQL Server. La biblioteca CAS 'SQLservercaslib' se crea, especificando el tipo de origen 'sqlserver', un nombre de usuario, una contraseña y un DSN (Data Source Name) configurado para la conexión.
¡Copiado!
caslib SQLservercaslib desc='Microsoft SQL Server Caslib'
dataSource=(srctype='sqlserver',
username='myuser1',
password='myPwd',
sqlserver_dsn='dbsqlserver');
1
caslib SQLservercaslib desc='Microsoft SQL Server Caslib'
2
dataSource=(srctype='sqlserver',
3
username='myuser1',
4
password='myPwd',
5
sqlserver_dsn='dbsqlserver');
2 Bloque de código
PROC CASUTIL Data
Explicación : Este ejemplo demuestra cómo cargar una tabla llamada 'mySQLsvrdata' (aquí simulada por un paso DATA) desde una caslib de origen (simulada como CASUSER para este ejemplo autónomo) a la caslib 'casuser' usando PROC CASUTIL. La tabla cargada se renombra 'class_from_SQLservercaslib'. Los comandos 'list files' y 'contents' se utilizan para verificar la carga e inspeccionar la estructura de la nueva tabla CAS. La opción 'replace' permite reemplazar la tabla si ya existe.
¡Copiado!
/* Création d'une table SQL Server fictive pour l'exemple */
data casuser.mySQLsvrdata;
input ID Name $ Age Score;
datalines;
1 John 30 85
2 Jane 24 92
3 Mike 35 78
4 Emily 29 88
;
run;
proc casutil;
/* Supposons que SQLservercaslib est déjà définie comme dans l'exemple 1 */
/* list files incaslib="SQLservercaslib"; */
load casdata="mySQLsvrdata" incaslib="CASUSER" outcaslib="casuser"
casout="class_from_SQLservercaslib" replace;
list files incaslib="casuser";
contents casdata="class_from_SQLservercaslib" incaslib="casuser";
quit;
1
/* Création d'une table SQL Server fictive pour l'exemple */
2
DATA casuser.mySQLsvrdata;
3
INPUT ID Name $ Age Score;
4
DATALINES;
5
1 John 3085
6
2 Jane 2492
7
3 Mike 3578
8
4 Emily 2988
9
;
10
RUN;
11
12
PROC CASUTIL;
13
/* Supposons que SQLservercaslib est déjà définie comme dans l'exemple 1 */
Explicación : Este ejemplo ilustra una carga masiva de datos de una tabla CAS ('TEST1') a un almacenamiento ADLS2 a través de un conector de Microsoft SQL Server. Primero, configura el ID de inquilino de Azure a través de las opciones de sesión. La biblioteca CAS 'sqls' se define con detalles de conexión de SQL Server e información de autenticación de Azure (identidad y secreto para Shared Access Signature). Luego se utiliza el procedimiento `CASUTIL` para guardar la tabla 'TEST1' en la caslib 'sqls', activando la carga masiva (bulkload=true) y especificando opciones como el directorio temporal predeterminado ('defaultdir'), el nombre de la cuenta de almacenamiento de Azure, el ID de aplicación y el sistema de archivos.
¡Copiado!
/* Création d'une table CAS fictive pour le chargement */
data casuser.TEST1;
input ProductID $ Quantity SaleDate:yymmdd10.;
format SaleDate yymmdd10.;
datalines;
PROD_A 10 2023-01-15
PROD_B 25 2023-02-20
PROD_C 12 2023-03-01
PROD_A 8 2023-03-10
PROD_D 40 2023-04-05
;
run;
options cassessopts=(azuretenantid="user-tenant-id");
caslib sqls datasource=(srctype='sqlserver',
database='datasource_db',
username='user-id',
password='password',
schema='myschema',
identity='Shared Access Signature',
secret='shared-access-signature-value',
deleteDataFiles=true);
proc casutil incaslib="CASUSER" outcaslib="sqls";
save casdata="TEST1" casout="test1_out"
options={bulkload=true,
defaultdir='/temp_azure_dir',
accountName='azurestorageaccount',
applicationId='azure-application-id',
fileSystem='azureblobfilesystem',
compress=false} replace;
run;
1
/* Création d'une table CAS fictive pour le chargement */
Explicación : Este ejemplo avanzado muestra cómo cargar datos de una tabla de SQL Server (simulada aquí por 'Orders_SQL' en 'CASUSER') a una nueva tabla CAS llamada 'RecentOrders_CAS' en la caslib 'casuser'. Utiliza una cláusula WHERE para filtrar los registros por fecha ('OrderDate >= "01JAN2024"d') y la opción 'importoptions=(vars(...))' para seleccionar solo columnas específicas ('OrderID', 'CustomerID', 'TotalAmount'). La opción 'promote' hace que la tabla cargada esté disponible globalmente en la sesión CAS. También se define una caslib de SQL Server ('sqlserver_conn') para ilustrar una conexión a un esquema específico ('Sales').
¡Copiado!
/* Préparation d'une caslib pour simuler des données SQL Server */
data casuser.Orders_SQL;
input OrderID CustomerID $ OrderDate:yymmdd10. TotalAmount;
format OrderDate yymmdd10.;
datalines;
101 CUST001 2023-01-10 150.75
102 CUST002 2023-02-05 200.00
103 CUST001 2023-03-20 120.50
104 CUST003 2024-01-01 300.00
105 CUST002 2024-02-15 50.25
106 CUST004 2024-03-10 450.00
;
run;
/* Connexion à SQL Server (simulée) */
caslib sqlserver_conn desc='Connexion SQL Server pour Données de Ventes'
dataSource=(srctype='sqlserver',
username='myuser1',
password='myPwd',
sqlserver_dsn='dbsqlserver_prod', /* DSN d'une base de production */
schema='Sales'); /* Schéma spécifique */
/* Chargement des données filtrées dans une nouvelle table CAS */
proc casutil;
load casdata="Orders_SQL" incaslib="CASUSER" casout="RecentOrders_CAS" outcaslib="casuser"
promote /* Rend la table visible pour toutes les sessions */
where='OrderDate >= "01JAN2024"d' /* Filtre pour les commandes après le 1er janvier 2024 */
importoptions=(vars=('OrderID' 'CustomerID' 'TotalAmount')); /* Sélectionne des colonnes spécifiques */
list files incaslib="casuser";
contents casdata="RecentOrders_CAS" incaslib="casuser";
quit;
1
/* Préparation d'une caslib pour simuler des données SQL Server */
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.
Documentación relacionada
Aucune documentation spécifique pour cette catégorie.
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.