大数据的今天,将统计软件与数据库相连,实现数据之间的互通,可大大提高工作的效率; 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服务器进行处理。 其余数据库连接,与上述方法类似,只是不同数据库登录命令稍有不同。本文只给出几种常用的连接方法,希望有兴趣的朋友加以补充。 |
|
来自: SAM_SAS_lib > 《SAS》