SAS a Oracle ODBC - il superamento di un tavolo SAS nel database
Domanda
Qualcuno può consigliare la sintassi per il passaggio di un tavolo da una libreria SAS in un database Oracle?
esempio di codice (anche se ovviamente la connessione alla libreria lavoro non può essere fatto riferimento in questo modo)
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;
Una domanda simile è stato chiesto qui ma sembra riferirsi a uno SQLSERVER connessione piuttosto che Oracle ..
Soluzione
Impostare un libref per puntare al database Oracle, sia utilizzando il motore libname ODBC o il motore libname Oracle (che sarà più veloce se avete la licenza di destra e del software installato):
libname X oracle username='USER1' password='passwd' path=ORCL;
Se una tabella vuota con le colonne di destra esiste già in Oracle, è possibile utilizzare:
proc sql noprint;
insert into X.test select * from work.my_sas_table;
quit;
Se la tabella non esiste, è possibile utilizzare un passo di dati:
data X.test;
set work.my_sas_table;
run;
Altri suggerimenti
Sono un po 'arrugginito, ma cosa succede se si imposta il database come libref?
Qualcosa di simile:
libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
set work.my_sas_table;
run;