SAS в Oracle ODBC - передача таблицы SAS В базу данных
Вопрос
Кто-нибудь может, пожалуйста, посоветовать синтаксис для передачи таблицы ИЗ библиотеки SAS В базу данных Oracle?
пример кода ниже (хотя очевидно, что на подключение к РАБОЧЕЙ библиотеке нельзя ссылаться таким образом)
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, а не к oracle..
Решение
Настройте ссылку libref, указывающую на вашу базу данных Oracle, либо с помощью ODBC libname engine, либо Oracle libname engine (что будет быстрее, если у вас установлена соответствующая лицензия и программное обеспечение).:
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;
Другие советы
Я немного заржавел, но что, если вы настроите свою базу данных как libref?
Что-то вроде:
libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
set work.my_sas_table;
run;