请选择 进入手机版 | 继续访问电脑版
楼主: ziyenano
48078 83

[原创博文] SAS连接数据库   [推广有奖]

  • 0关注
  • 52粉丝

院士

7%

还不是VIP/贵宾

-

威望
2
论坛币
6137 个
通用积分
27.3501
学术水平
338 点
热心指数
326 点
信用等级
298 点
经验
57355 点
帖子
880
精华
1
在线时间
4131 小时
注册时间
2012-1-4
最后登录
2023-3-10

ziyenano 发表于 2012-10-12 13:51:39 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

大数据的今天,将统计软件与数据库相连,实现数据之间的互通,可大大提高工作的效率;

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库;

1.jpg

此时可将mylib作为SAS的一个逻辑库使用。

2.      odbc接口

除了自带的接口,SAS自然还提供了数据库之间连接的通用接口—odbc接口。

1.1   配置oracle数据源

打开控制版面,找到管理工具选项

2.jpg

点击进入管理工具,找到数据源

3.jpg

4.jpg


点击添加按钮,

5.jpg

选中oracle inorahome90后点击完成,注:oracle安装好后通常会自带odbc数据源,

但有些数据库,如mysql,需要去官网下载mysqlconnector,安装后才能使用。

6.jpg


第一行,填写这个数据源的名称,这里取oracle,

第二行,描述这个数据源,相当于备注,可不填,

第三行,单机下拉列表按钮,选中要连接的服务器名称,

        前提和上面一样,Oracle安装目录\ora90\network\admin\tnsnames.ora文件配置好,

        第四行,即登录用户名称

        完成后,点击testconnection 按钮

         7.jpg

         输入密码,点击ok

          8.jpg

         连接成功说明数据源配置成功。用户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服务器进行处理。


    其余数据库连接,与上述方法类似,只是不同数据库登录命令稍有不同。本文只给出几种常用的连接方法,希望有兴趣的朋友加以补充。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:连接数据库 数据库 connection Disconnect SqlServer 连接数据库 password 资源管理器 network

8.jpg
7.jpg
6.jpg
5.jpg
4.jpg
3.jpg
2.jpg
1.jpg
9.jpg
9.jpg
已有 9 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
boy_bj + 1 + 1 热心帮助其他会员
meilin8 + 60 根据规定进行奖励
complicated + 3 + 3 + 3 又涨见识了咯!多谢多谢!
pobel + 1 + 1 + 1 精彩帖子
秋萧世 + 1 + 1 + 1 精彩帖子
davil2000 + 1 + 1 + 1 对论坛有贡献
数据分析师3K + 100 + 3 我很赞同
jingju11 + 5 + 5 + 5 精彩帖子
webgu + 1 + 1 + 1 鼓励积极发帖讨论

总评分: 经验 + 60  论坛币 + 100  学术水平 + 16  热心指数 + 13  信用等级 + 12   查看全部评分

本帖被以下文库推荐

lovingxianhui 发表于 2012-10-12 17:48:49 |显示全部楼层 |坛友微信交流群
非常感谢楼主的分享,正需要这方面知识

使用道具

好帖要顶啊

使用道具

ziyenano 发表于 2012-10-19 16:04:27 |显示全部楼层 |坛友微信交流群
自己顶一下吧

使用道具

quanjk 发表于 2012-10-22 00:15:05 |显示全部楼层 |坛友微信交流群
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;
////////*good*////////

使用道具

davil2000 发表于 2012-11-1 11:54:26 |显示全部楼层 |坛友微信交流群
学习了 感谢分享
R是万能的,SAS是不可战胜的!

使用道具

zhentao 发表于 2012-11-11 09:56:09 |显示全部楼层 |坛友微信交流群
很好,学习了。

使用道具

lqyrendajinji 发表于 2012-11-13 04:26:17 |显示全部楼层 |坛友微信交流群
good good good

使用道具

hx080407108 发表于 2012-11-21 21:40:02 |显示全部楼层 |坛友微信交流群
谢谢楼主啊

使用道具

00810112 发表于 2012-12-25 14:10:31 |显示全部楼层 |坛友微信交流群
现在用不到,收藏了先

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 19:10