SAS2DB


SAS

DB Access

  • SAS/Accessを利用。

libnameを定義してアクセスする方法

libnameを定義して、DBをSASのオブジェクトだと考える。

libname (libname) oracle user=(uname) pass(pw) path=(orclパス);
proc print data=(libname).(tablename) (obs=1);
run;

DBがOS認証の場合は、orclパスだけ指定すればいい。

libname (libname) oracle path=(orclpath);
proc print data=(libname).all_tables(obs=1);
run;

SQLの実行

パススルー機能(SASから直接DBをたたける)を利用

  • select文
    proc sql;
    connect to oracle(user=(uname) pass=(pw) path=(orclpath));
    select * from connection to oracle (
     (SQL)
    );
    quit;
  • DBのテーブルをselectして、LocalのSASデータセット(test.testtable)を作成
proc sql;
connect to oracle(user=... pass=... path=...);
create table test.testtable as
select * from connection to oracle
(
(SQL)
);
quit;

SAS -> OracleへのデータUL

/* SASライブラリ*/
libname sasdata "XXX";
/* Oracleライブラリ */
libname oradata oracle user=XXX pass=XXX path=XXX;

/* Oracleテーブルを作成 */
data oradata.summary;
  set sasdata.summary;
run;

こういうのもできるっぽい??

libname (libname) oracle user=... pass=... path=...;
proc access dbms=oracle;
create (libname).test.access;
	table=dwh_product_cd;
	path=(orclpath);
	list;
run;
proc sql;
connect to mysql (user=... password=... server=... database=... port=(port#));
execute (select * from tmp) 
by mysql;
disconnect from mysql;
quit;

最新の20件

2014-11-17 2014-11-04

今日の1件

  • SAS2DB(1)

  • counter: 430
  • today: 1
  • yesterday: 1
  • online: 1