SAS в Oracle ODBC - передача таблицы SAS в базу данных - PullRequest
4 голосов
/ 22 августа 2009

Кто-нибудь может посоветовать, пожалуйста, синтаксис для передачи таблицы из библиотеки SAS в базу данных Oracle?

пример кода ниже (хотя очевидно, что на соединение с библиотекой WORK нельзя ссылаться таким образом)

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;

Аналогичный вопрос был задан здесь , но, похоже, он относится к соединению SQLSERVER, а не к оракулу.

Ответы [ 2 ]

7 голосов
/ 24 августа 2009

Настройте libref так, чтобы он указывал на вашу базу данных Oracle, либо с помощью механизма имен ODBC, либо механизма имен Oracle (что будет быстрее, если у вас установлены подходящая лицензия и программное обеспечение):

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

Если в Oracle уже существует пустая таблица с правильными столбцами, вы можете использовать:

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

Если таблица не существует, вы можете использовать шаг данных:


data X.test;
  set work.my_sas_table;
run;
4 голосов
/ 23 августа 2009

Я немного заржавел, но что, если вы настроите свою базу данных как libref?

Что-то вроде:

libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
    set work.my_sas_table;
run;
...