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 ..

È stato utile?

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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top