任何人都可以请告知语法传递一个表从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;

有一个类似的问题被问 href="https://stackoverflow.com/questions/1040660/sas-proc-sql-database-table-insert">但似乎涉及SQLSERVER连接,而不是预言..

有帮助吗?

解决方案

设置逻辑库引用名指向您的Oracle数据库,无论是使用ODBC LIBNAME引擎或甲骨文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;

其他提示

我有点生疏,但如果你设置你的数据库的逻辑库引用名?

是这样的:

libname X odbc dsn='ALIAS' uid='USER1' pwd='passwd' quote_char='';
data X.test;
    set work.my_sas_table;
run;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top