SAS a Oracle ODBC - pasando una tabla en la base de SAS
Pregunta
Puede alguien por favor avise la sintaxis para pasar una tabla a partir de una biblioteca SAS en una base de datos Oracle?
código de ejemplo a continuación (aunque, obviamente, la conexión con el trabajo de la biblioteca no se puede hacer referencia de esta manera)
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 pregunta similar se le pidió aquí pero parece estar relacionado con un SQLSERVER conexión en lugar de Oracle ..
Solución
Configurar un libref para que apunte a la base de datos Oracle, ya sea usando el motor libname ODBC o el motor libname Oracle (que será más rápido si tiene la licencia y el software instalado derecha):
libname X oracle username='USER1' password='passwd' path=ORCL;
Si una mesa vacía con las columnas de la derecha ya existe en Oracle, puede utilizar:
proc sql noprint;
insert into X.test select * from work.my_sas_table;
quit;
Si no existe la tabla, puede utilizar un paso de datos:
data X.test;
set work.my_sas_table;
run;
Otros consejos
Estoy un poco oxidado, pero lo que si se configura la base de datos como un libref?
Algo así como:
libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
set work.my_sas_table;
run;