Question

Quelqu'un peut-il s'il vous plaît conseiller la syntaxe pour faire passer une table à partir d'une bibliothèque SAS dans une base de données Oracle?

code exemple ci-dessous (bien évidemment la connexion à la bibliothèque de travail ne peut être référencé de cette manière)

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;

Une question similaire a été posée mais semble se rapporter à un SQLServer connexion plutôt que oracle ..

Était-ce utile?

La solution

Mettre en place un libref pour pointer vers votre base de données Oracle, soit en utilisant le moteur libname ODBC ou le moteur libname Oracle (qui sera plus rapide si vous avez le droit de licence et des logiciels installés):

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

Si une table vide avec les colonnes de droite existe déjà dans Oracle, vous pouvez utiliser:

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

Si la table n'existe pas, vous pouvez utiliser une étape de données:


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

Autres conseils

Je suis un peu rouillé, mais si vous configurez votre base de données en tant que libref?

Quelque chose comme:

libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
    set work.my_sas_table;
run;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top