Veröffentlicht am :
ETL MIXTE

Massenladen über ODBC zu SQL Server

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses SAS©-Skript demonstriert, wie die Option BULKLOAD (bcp=yes) mit einem ODBC LIBNAME verwendet wird, um Daten effizient von einer SAS©-Tabelle in eine Tabelle in einer SQL Server-Datenbank zu laden. Es umfasst die interne Erstellung eines temporären Datensatzes, das Löschen einer vorhandenen Tabelle in der Zieldatenbank, die Erstellung der Zieltabelle über eine DATA STEP-Anweisung und die Überprüfung des Ladevorgangs über einen PROC PRINT. Der Code ist kompatibel mit SAS© Viya 4.
Datenanalyse

Type : MIXTE


Der Quelldatensatz `work.DUBLKDAT` wird intern im Skript mit der DATALINES/CARDS-Anweisung erstellt. Dieser Datensatz wird dann verwendet, um die Daten in eine Tabelle `mybulk.DUBLKTAB` zu laden, die in einer externen Datenbank über die konfigurierte ODBC-Verbindung liegt.

1 Codeblock
LIBNAME Statement
Erklärung :
Deklariert einen LIBNAME namens `mybulk` zur Verbindung mit einer ODBC-Datenquelle. Die Makrovariablen `&dbms` und `&connopt` müssen zuvor definiert werden (z. B. in einem Autoexec oder einem übergeordneten Skript). Die Option `bcp=yes` aktiviert den Massenlademodus (Bulkload), um die Leistung beim Einfügen großer Datenmengen zu optimieren.
Kopiert!
1LIBNAME mybulk &dbms &connopt bcp=yes;
2 Codeblock
PROC DELETE
Erklärung :
Löscht die Tabelle `DUBLKTAB` aus der Bibliothek `mybulk` (die auf die externe Datenbank verweist). Dieser Schritt wird oft verwendet, um einen sauberen Zustand sicherzustellen, bevor Daten in die Tabelle neu erstellt oder neu geladen werden.
Kopiert!
1PROC DELETE DATA=mybulk.DUBLKTAB;
2RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Erstellt einen temporären Datensatz `work.DUBLKDAT` mithilfe einer DATA STEP-Anweisung mit eingebetteten Daten über die Option CARDS. Dieser Datensatz enthält Informationen über Personen (Name, Alter, Geschlecht, Geburtsdatum) und dient als Quelle für das Massenladen.
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung :
Erstellt oder ersetzt die Tabelle `DUBLKTAB` in der externen Datenbank (über den LIBNAME `mybulk`), indem der Inhalt des SAS-Datensatzes `work.DUBLKDAT` hineingeladen wird. Dank der Option `bcp=yes`, die für den LIBNAME `mybulk` gesetzt ist, löst dieser DATA STEP einen Massenlade-Vorgang in die zugrunde liegende SQL Server-Datenbank aus.
Kopiert!
1DATA mybulk.DUBLKTAB;
2 SET work.DUBLKDAT;
3RUN;
5 Codeblock
PROC PRINT
Erklärung :
Zeigt den Inhalt der Tabelle `mybulk.DUBLKTAB` (die in die externe Datenbank geladene Tabelle) im SAS-Log an. Das Format `date7.` wird auf die Spalte `bdate` angewendet, um die Lesbarkeit der Daten zu verbessern. Dies ermöglicht die Überprüfung, ob der Massenlade-Vorgang erfolgreich durchgeführt wurde.
Kopiert!
1PROC PRINT DATA=mybulk.DUBLKTAB;
2 FORMAT bdate date7.;
3title 'proc print of table';
4RUN;
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.
Urheberrechtsinformationen : S A S S A M P L E L I B R A R Y