楼主: houtiao
10026 10

SAS连接DB2 [推广有奖]

  • 0关注
  • 0粉丝

已卖:155份资源

本科生

69%

还不是VIP/贵宾

-

威望
0
论坛币
2886 个
通用积分
40.0600
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1528 点
帖子
119
精华
0
在线时间
82 小时
注册时间
2007-12-8
最后登录
2022-2-11

楼主
houtiao 发表于 2009-12-8 09:43:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
前一段时需要利用海量数据作分析,需要sas与db2的链接,在网上搜了很久,发现相关的内容较少,实践之后把我的体会写出来与大家分享。
服务器界面:win server2003  
本机界面:win vista home (官方说明称sas9.2不能在vista home上使用,我测试了常用功能没问题,更多的功能没有测试,不过proc freq命令容易出错,尝试多次就ok)
sas版本:sas9.2

sas处理db2的数据至少有两种截然不同的方法:
1、直接读取db2的数据,不在逻辑库中建立数据
  优点:能够节省本地空间,减少本地运算量,适用于本机性能不太好的用户;
  缺点:对于表名为中文以及表字段名为中文的数据不能够识别,没办法链接(我们的集市是中文表明与字段名,尝试很多次不能成功),但是字段取值是中文的可以识别。
example:
libname DM db2 user=*******  password=******
    database=db schema=X;
proc sql;
select  *
    from x.xx;
  run;

2、复制db2数据表到逻辑库中
    优点:表字段名可以是中文(sas直接把中文字段名作为标注,更改字段名称,依次会更改为_col0,_col1......对于字段名称不敏感的可以进行对应,不会增加太多工作量),同时可以在逻辑库中任意编辑新的数据文件;
    缺点:占用大量的磁盘空间,运行速度可能较慢,依旧不支持中文表名。
example:

proc sql;
connect to db2 as aa(database=DM user=yangzh pwd=yangzihao);/*aa是虚拟表名,可以按照规则任意命名,但要保证前后一致*/
  create table bb as select * /*bb是逻辑库中的名称,如果已经建立了逻辑库名xx,那么就应该是xx.bb*/
   from connection to aa (select * from orig_ppm.product);
quit;

如果在使用中有什么问题,欢迎大家沟通。
希望能够给大家带来一定的帮助。
二维码

扫码加我 拉你入群

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

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

关键词:DB2 connection proc sql database password SAS

本帖被以下文库推荐

沙发
yukiooy 发表于 2009-12-8 11:01:51
houtiao 发表于 2009-12-8 09:43
前一段时需要利用海量数据作分析,需要sas与db2的链接,在网上搜了很久,发现相关的内容较少,实践之后把我的体会写出来与大家分享。
服务器界面:win server2003  
本机界面:win vista home (官方说明称sas9.2不能在vista home上使用,我测试了常用功能没问题,更多的功能没有测试,不过proc freq命令容易出错,尝试多次就ok)
sas版本:sas9.2

sas处理db2的数据至少有两种截然不同的方法:
1、直接读取db2的数据,不在逻辑库中建立数据
  优点:能够节省本地空间,减少本地运算量,适用于本机性能不太好的用户;
  缺点:对于表名为中文以及表字段名为中文的数据不能够识别,没办法链接(我们的集市是中文表明与字段名,尝试很多次不能成功),但是字段取值是中文的可以识别。
example:
libname DM db2 user=*******  password=******
    database=db schema=X;
proc sql;
select  *
    from x.xx;
  run;

2、复制db2数据表到逻辑库中
    优点:表字段名可以是中文(sas直接把中文字段名作为标注,更改字段名称,依次会更改为_col0,_col1......对于字段名称不敏感的可以进行对应,不会增加太多工作量),同时可以在逻辑库中任意编辑新的数据文件;
    缺点:占用大量的磁盘空间,运行速度可能较慢,依旧不支持中文表名。
example:

proc sql;
connect to db2 as aa(database=DM user=yangzh pwd=yangzihao);/*aa是虚拟表名,可以按照规则任意命名,但要保证前后一致*/
  create table bb as select * /*bb是逻辑库中的名称,如果已经建立了逻辑库名xx,那么就应该是xx.bb*/
   from connection to aa (select * from orig_ppm.product);
quit;

如果在使用中有什么问题,欢迎大家沟通。
希望能够给大家带来一定的帮助。
LZ,
首先,SAS连接数据库的文章可以说是海量,怎么说“发现相关的内容较少”呢?对于第二点“运行速度可能较慢”不知道是说的哪一方面比较慢?
参考这一篇帖子,里面的内容或许有帮助
http://www.pinggu.org/bbs/viewthread.php?tid=618356&from^^uid=827635

藤椅
houtiao 发表于 2009-12-8 12:44:28
首先,SAS连接数据库的文章可以说是海量,怎么说“发现相关的内容较少”呢?对于第二点“运行速度可能较慢”不知道是说的哪一方面比较慢?
参考这一篇帖子,里面的内容或许有帮助
http://www.pinggu.org/bbs/viewthread.php?tid=618356&from^^uid=827635
1、文章少指的是中文的较少,你说的两篇文章早上看到了,没有细看,不过如果解决问题帮助文件就可以了,只是在实践中会有不同的认识,看帮助是体会不到的。
2、速度慢是指 将db2中的文件复制到本地,由于数据量较大,运行速度较慢;另外,在sas中处理海量数据运行速度也是不是很快。

板凳
edwardhuanghz 发表于 2009-12-8 16:53:11
这个可能是你的option 参数没有设置好,一般来说,数据量300个字段,1kw数据量,好像也只需要3-4分钟吧,

报纸
roki 在职认证  发表于 2009-12-8 20:58:55
其实可以创建ODBC连接,然后通过SAS就可以轻松访问大型数据库。我就是这样访问ORACLE数据库的。效率不错。

地板
hjhnju 发表于 2009-12-10 10:52:16
5# roki 哦?确定么,我还以为odbc连接是指外部应用程序连接sas用的

7
gaotao0727 发表于 2012-7-18 16:11:31
用DOBC连接DB2,提示
  1. NOTE: Due to the PRESERVE_TAB_NAMES=NO libname option setting, 1 table(s) have not been displayed/returned.
  2. ERROR: Utility file open failed.
复制代码
是什么情况?~~~
衣带渐宽终不悔,为伊消得人憔悴~~

8
mosessa 发表于 2012-11-25 16:05:59
学习了,正用到。

9
天外逍遥1019 在职认证  发表于 2013-2-27 16:52:52
学习了 挺好

10
johnsonruc 发表于 2015-1-3 15:02:02 来自手机
houtiao 发表于 2009-12-8 09:43
前一段时需要利用海量数据作分析,需要sas与db2的链接,在网上搜了很久,发现相关的内容较少,实践之后把我 ...
链接的可以具体说说么?

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

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