楼主: ziyenano
50522 83

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

  • 0关注
  • 52粉丝

院士

7%

还不是VIP/贵宾

-

威望
2
论坛币
6137 个
通用积分
27.3565
学术水平
338 点
热心指数
326 点
信用等级
298 点
经验
57352 点
帖子
879
精华
1
在线时间
4132 小时
注册时间
2012-1-4
最后登录
2025-5-7

楼主
ziyenano 发表于 2012-10-12 13:51:39 |AI写论文

+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 (6.86 KB)

8.jpg

7.jpg (14.38 KB)

7.jpg

6.jpg (33.89 KB)

6.jpg

5.jpg (60.73 KB)

5.jpg

4.jpg (16.84 KB)

4.jpg

3.jpg (10.56 KB)

3.jpg

2.jpg (21.61 KB)

2.jpg

1.jpg (7.74 KB)

1.jpg

9.jpg (16.84 KB)

9.jpg

9.jpg (16.84 KB)

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
非常感谢楼主的分享,正需要这方面知识

藤椅
数据分析师3K 发表于 2012-10-14 16:04:03
好帖要顶啊

板凳
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是不可战胜的!

7
zhentao 发表于 2012-11-11 09:56:09
很好,学习了。

8
lqyrendajinji 发表于 2012-11-13 04:26:17
good good good

9
hx080407108 发表于 2012-11-21 21:40:02
谢谢楼主啊

10
00810112 发表于 2012-12-25 14:10:31
现在用不到,收藏了先

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-12 23:53