2009-08-22 15 views
4

Kann jemand bitte die Syntax für die Übergabe einer Tabelle aus einer SAS-Bibliothek in eine Oracle-Datenbank empfehlen?SAS zu Oracle ODBC - Übergeben einer SAS-Tabelle in die Datenbank

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 here wurde gefragt, aber es scheint zu einer SQLSERVER Verbindung zu beziehen, anstatt Orakel ..

Antwort

7

Einrichten eines 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):

libname X oracle username='USER1' password='passwd' path=ORCL; 

Wenn eine leere Tabelle mit den richtigen Spalten bereits in Oracle existiert, können Sie verwenden:

proc sql noprint; 
    insert into X.test select * from work.my_sas_table; 
quit; 

Wenn die Tabelle nicht existiert, können Sie einen Datenschritt verwenden:


data X.test; 
    set work.my_sas_table; 
run; 
4

Ich bin ein bisschen eingerostet, aber was ist, wenn Sie Ihre Datenbank als libref einrichten?

Etwas wie:

libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char=''; 
data X.test; 
    set work.my_sas_table; 
run; 
Verwandte Themen