SAS连接关系型数据库,一般可以通过通用的odbc及SAS/ACCESS两种方式实现。使用ACCESS方式的原理,是通过关系型数据库客户端为桥梁实现数据交互,从远程数据库读数过程为:远程数据库服务器->本地数据库客户端->SAS/ACCESS接口通道。
SAS与oracle交互原理
本文将介绍如何在SAS linux环境下连接oracle数据库的方法实现:
Linux environment:centos7 x64
SAS 版本:SAS 9.4M1 for Linux
oracle客户端:OracleInstant Client 11.2.0.2.0
简单概括起来为两步:
1)确保oracle客户端能连通远程数据库服务器(重点)
2)使用SAS/ACCESS连接
■Step1-安装oracle客户端
*-1.1-下载并安装客户端
从http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载Basic Light及SQL*Plus两个安装包(需要注册一个oracle账户):
oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
安装:
sudo rpm -ivh ./oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
sudo rpm -ivh ./oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
*-1.2-编辑用户目录下的.bash_profile(或者.bashrc)
编辑.bash_profile,将sqlplus加入环境变量(纸上得来终觉浅,各教程上缺少这一步···),然后添加LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/oracle/11.2/client64/lib
vim ~/.bash_profile
如下图所示
将sqlplus加入环境变量及将LD_LIBRARY_PATH加入.bash_profile文件
使修改立即生效
suroce ~/.bash_profile
*-1.3-将instantclient的lib路径加入/etc/ld.so.conf
sudo vim /etc/ld.so.conf
将instantclient的lib路径加入/etc/ld.so.conf文件
使修改生效
sudo /sbin/ldconfig
如果在输入sqlplus之后,能够出现类似下面的内容,任务就完成一大半了···
sqlplus测试
*-1.4-配置TNS
建立TNS_ADMIN路径,并编辑.bash_profile文件
mkdir /usr/lib/oracle/11.2/client64/network/admin
vim ~/.bash_profile
在.bash_profile中添加ORACLE_HOME及TNS_ADMIN变量
添加ORACLE_HOME和TNS_ADMIN变量
然后source ~/.bash_profile使修改生效,至此已经完成oracle客户端配置,接下来只要将oracle连接串文件放入到TNS_ADMIN路径下就可以连通oracle远程数据库了,并进行测试
使用sqlplus进行连接测试,形式为sqlplus user/passwd@path
打完收工,完成oracle client端的配置。
■Step2-使用SAS/ACCESS连接远程oracle数据库
使用libname语句进行连接
这样,已经成功在SAS Linux环境下连接上远程oracle数据库了,如果还没连上,请参考
在Unix环境下添加LD_LIBRARY_PATH变量
■参考资料
1.Understanding SAS/ACCESS? Software's Role with Querying and Reporting in a
Business Intelligence Environment.Varsha Desai, SAS Institute Inc., Cary, NC
2.CentOS linux下安装Oracle客户端.http://blog.sina.com.cn/s/blog_5fd26d460100vyuk.html
End.
作者:夕珀
來源:简书
本文暂时没有评论,来添加一个吧(●'◡'●)