大数据的今天,将统计软件与数据库相连,实现数据之间的互通,可大大提高工作的效率;
SAS在与各种数据库的接口方面,做得非常完善。
连接各数据库的方法,其实大同小异。
本文以SAS连接oracle为例,描述怎么搭建SAS与数据库的连接。
1. SAS自带的接口(access接口)
SAS与主流数据库之间,如oracle,DB2,sqlserver,sybase,Teradata,都有自带的接口;
1.1首先保证oracle配置文件完整,
即Oracle安装目录\ora90\network\admin\tnsnames.ora文件
保证oracle能够成功连接到服务器;
1.2 使用libname命令
Libname mylib oracleuser=xxx password=xxxxx path=xxxx;
连接成功后,会发现SAS资源管理器中,出现mylib库;
此时可将mylib作为SAS的一个逻辑库使用。
2. odbc接口
除了自带的接口,SAS自然还提供了数据库之间连接的通用接口—odbc接口。
1.1 配置oracle数据源
打开控制版面,找到管理工具选项
点击进入管理工具,找到数据源
点击添加按钮,
选中oracle inorahome90后点击完成,注:oracle安装好后通常会自带odbc数据源,
但有些数据库,如mysql,需要去官网下载mysqlconnector,安装后才能使用。
第一行,填写这个数据源的名称,这里取oracle,
第二行,描述这个数据源,相当于备注,可不填,
第三行,单机下拉列表按钮,选中要连接的服务器名称,
前提和上面一样,Oracle安装目录\ora90\network\admin\tnsnames.ora文件配置好,
第四行,即登录用户名称
完成后,点击testconnection 按钮
输入密码,点击ok
连接成功说明数据源配置成功。用户DSN窗口中会出现配置好的oracle数据源
2.2 odbc数据源配好后,同样可以用libname命令调用
libname mylib odbc datasrc=oracle(数据源的名称) user=xxxpassword=xxx
结果和上面一样,也可以将mylib当做SAS的数据库用。
不同的是这里的引擎使是odbc,前一种方法的引擎是oracle,log中也会提示。
3. 使用sql
上述两种方法,将oracle中一个库作为SAS的一个逻辑库,操作实施会很方便,但在数据的传输效率上并不能达到最好。
要想达到最高的效率,可以使用sql语句进行数据的传输(完全依赖网络传输速度)。
同样以连接oracle为例
proc sql;
connect to oracle as mylib (user=xxx password=xxx path=xxx);
create table table_name as
select * from connection to mylib (select…); /*括号中查询语句需符合oracle的语法*/
disconnect from mylib;
quit;
注:上述括号中select语句使用的是oracle服务器进行处理。
其余数据库连接,与上述方法类似,只是不同数据库登录命令稍有不同。本文只给出几种常用的连接方法,希望有兴趣的朋友加以补充。
联系客服