Publicado el :
ETL MIXTE

Carga masiva a través de ODBC a SQL Server

Este código también está disponible en: Deutsch English Français
En espera de validación
Este script SAS© demuestra cómo usar la opción BULKLOAD (bcp=yes) con un LIBNAME ODBC para cargar datos de manera eficiente desde una tabla SAS© a una tabla en una base de datos SQL Server. Incluye la creación de un conjunto de datos temporal internamente, la eliminación de una tabla existente en la base de datos de destino, la creación de la tabla de destino a través de una instrucción DATA STEP y la verificación de la carga mediante un PROC PRINT. El código es compatible con SAS© Viya 4.
Análisis de datos

Type : MIXTE


El conjunto de datos fuente `work.DUBLKDAT` se crea internamente en el script usando la instrucción DATALINES/CARDS. Este conjunto de datos se utiliza luego para cargar los datos en una tabla `mybulk.DUBLKTAB` que reside en una base de datos externa a través de la conexión ODBC configurada.

1 Bloque de código
LIBNAME Statement
Explicación :
Declara un LIBNAME llamado `mybulk` para conectarse a una fuente de datos ODBC. Las variables macro `&dbms` y `&connopt` deben definirse previamente (por ejemplo, en un autoexec o un script padre). La opción `bcp=yes` activa el modo de carga masiva (bulkload) para optimizar el rendimiento durante la inserción de grandes cantidades de datos.
¡Copiado!
1LIBNAME mybulk &dbms &connopt bcp=yes;
2 Bloque de código
PROC DELETE
Explicación :
Elimina la tabla `DUBLKTAB` de la librería `mybulk` (que apunta a la base de datos externa). Este paso se usa a menudo para asegurar un estado limpio antes de recrear o recargar datos en la tabla.
¡Copiado!
1PROC DELETE DATA=mybulk.DUBLKTAB;
2RUN;
3 Bloque de código
DATA STEP Data
Explicación :
Crea un conjunto de datos temporal `work.DUBLKDAT` usando una instrucción DATA STEP con datos incorporados a través de la opción CARDS. Este conjunto de datos contiene información sobre individuos (nombre, edad, sexo, fecha de nacimiento) y sirve como fuente para la carga masiva.
¡Copiado!
1DATA work.DUBLKDAT;
2 INPUT name $ age sex $ bdate mmddyy.;
3 CARDS;
4amy 3 f 030185
5bill 12 m 121277
6charlie 35 m 010253
7david 19 m 101469
8elinor 42 f 080845
9pearl 78 f 051222
10vera 96 f 101200
11frank 24 m 092663
12georgia 1 f 040687
13henry 46 m 053042
14joann 27 f 020461
15buddy 66 m 101432
16;
17RUN;
4 Bloque de código
DATA STEP Data
Explicación :
Crea o reemplaza la tabla `DUBLKTAB` en la base de datos externa (a través del LIBNAME `mybulk`) cargando el contenido del conjunto de datos SAS `work.DUBLKDAT`. Gracias a la opción `bcp=yes` definida en el LIBNAME `mybulk`, este DATA STEP desencadena una operación de carga masiva hacia la base de datos SQL Server subyacente.
¡Copiado!
1DATA mybulk.DUBLKTAB;
2 SET work.DUBLKDAT;
3RUN;
5 Bloque de código
PROC PRINT
Explicación :
Muestra el contenido de la tabla `mybulk.DUBLKTAB` (la tabla cargada en la base de datos externa) en el log de SAS. El formato `date7.` se aplica a la columna `bdate` para una mejor legibilidad de las fechas. Esto permite verificar que la carga masiva se ha realizado con éxito.
¡Copiado!
1PROC PRINT DATA=mybulk.DUBLKTAB;
2 FORMAT bdate date7.;
3title 'proc print of table';
4RUN;
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.
Información de copyright : S A S S A M P L E L I B R A R Y