Frage

Kann jemand bitte die Syntax für das Bestehen eine Tabelle aus einer SAS-Bibliothek in einer Oracle-Datenbank raten?

Beispiel Code (obwohl natürlich die Verbindung zur WORK-Bibliothek kann auf diese Weise nicht referenziert werden)

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;

Eine ähnliche Frage wurde gefragt, hier aber scheint eine SQLSERVER zu beziehen Verbindung eher als Orakel ..

War es hilfreich?

Lösung

Einrichten einer libref auf Ihre Oracle-Datenbank zeigen, entweder mit dem ODBC-libname Motor oder die Oracle libname Motor (die schneller sein wird, wenn Sie die richtige Lizenz und Software installiert haben):

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

Wenn eine leere Tabelle mit den richtigen Spalten bereits in Oracle vorhanden ist, können Sie:

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

Wenn die Tabelle nicht vorhanden ist, können Sie einen Daten Schritt verwenden:


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

Andere Tipps

Ich bin ein bisschen rostig, aber was ist, wenn Sie Ihre Datenbank als libref einrichten?

So etwas wie:

libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
    set work.my_sas_table;
run;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top