SAS в Oracle ODBC — передача таблицы SAS В базу данных

Может ли кто-нибудь посоветовать синтаксис для передачи таблицы ИЗ библиотеки SAS В базу данных оракула?

пример кода ниже (хотя очевидно, что на подключение к библиотеке 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, а не оракул..


person Allan Bowe    schedule 22.08.2009    source источник


Ответы (2)


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

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;
person Simon Nickerson    schedule 23.08.2009
comment
как вы вносите изменения в базу данных (оракул)? - person Lav Patel; 21.06.2018

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

Что-то типа:

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