SAS para Oracle ODBC - Passando uma tabela SAS para o banco de dados
Pergunta
Alguém pode aconselhar a sintaxe para passar uma tabela de uma biblioteca SAS para um banco de dados Oracle?
Exemplo de código abaixo (embora obviamente a conexão com a biblioteca de trabalho não possa ser referenciada dessa maneira)
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;
Uma pergunta semelhante foi feita aqui mas parece se relacionar com uma conexão SQLServer, em vez de Oracle ..
Solução
Configure um Libref para apontar para o seu banco de dados Oracle, usando o mecanismo ODBC LibName ou o Oracle LibName Engine (que será mais rápido se você tiver a licença e o software corretos instalados):
libname X oracle username='USER1' password='passwd' path=ORCL;
Se uma tabela vazia com as colunas certas já existir no Oracle, você pode usar:
proc sql noprint;
insert into X.test select * from work.my_sas_table;
quit;
Se a tabela não existir, você pode usar uma etapa de dados:
data X.test;
set work.my_sas_table;
run;
Outras dicas
Estou um pouco enferrujado, mas e se você configurar seu banco de dados como um libref?
Algo como:
libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
set work.my_sas_table;
run;