SAS Oracle ODBC - Leiten einer SAS-Tabelle in der Datenbank
Frage
Kann jemand bitte die Syntax für das Bestehen eine Tabelle aus einer SAS-Bibliothek in einer Oracle-Datenbank raten?
Beispiel Code (obwohl natürlich die Verbindung zur WORK-Bibliothek kann auf diese Weise nicht referenziert werden)
PROC SQL noprint;
connect to ODBC as X (dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='');
exec (CREATE TABLE Test AS
SELECT * from WORK.MY_SAS_TABLE
)by X;
disconnect from X;
quit;
Eine ähnliche Frage wurde gefragt, hier aber scheint eine SQLSERVER zu beziehen Verbindung eher als Orakel ..
Lösung
Einrichten einer libref auf Ihre Oracle-Datenbank zeigen, entweder mit dem ODBC-libname Motor oder die Oracle libname Motor (die schneller sein wird, wenn Sie die richtige Lizenz und Software installiert haben):
libname X oracle username='USER1' password='passwd' path=ORCL;
Wenn eine leere Tabelle mit den richtigen Spalten bereits in Oracle vorhanden ist, können Sie:
proc sql noprint;
insert into X.test select * from work.my_sas_table;
quit;
Wenn die Tabelle nicht vorhanden ist, können Sie einen Daten Schritt verwenden:
data X.test;
set work.my_sas_table;
run;
Andere Tipps
Ich bin ein bisschen rostig, aber was ist, wenn Sie Ihre Datenbank als libref einrichten?
So etwas wie:
libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
set work.my_sas_table;
run;