楼主: l12345q
2862 0

[问答] SAS连接oracle数据库,SQL语句生成的SAS数据集存储空间过大问题 [推广有奖]

  • 3关注
  • 0粉丝

高中生

72%

还不是VIP/贵宾

-

威望
0
论坛币
70 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
1737 点
帖子
23
精华
0
在线时间
39 小时
注册时间
2015-4-22
最后登录
2017-10-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
      最近引入服务版SAS,使用SAS EG连接oracle数据库,考虑数据提取的效率及使用原来编写的大量oracle数据库SQL脚本,使用connect方式连接的oracle数据。
      在sas中建立相关的程序,数据顺利提取并保存为SAS数据集,但发现一个问题,此前使用pl/sql抽取数据然后导入SAS并保存为SAS数据集,140W条数据,SAS数据集约700MB。在SAS中,用connect直接连接oracle数据库并使用同一脚本,直接抽取的数据发现居然有25G。后续查看发现25G的数据集,有大量SAS字段设置的字符长度为2000个,8000个这样巨大长度,导致SAS数据集储存空间过大,而实际记录的字符数一般就是2-10个。
      同时查看过抽取的对应字段在oracle数据库表中,个别字段虽然实际记录的字符数很短,但数据库表在设计时设置了1000个字符这样的长度,但部分SAS数据集中为8000字符的字段,oracle数据表中设置仅10个字符长度,不知道SAS数据集怎么自动设置的字符长度,同时向请教,如何解决这个问题?

附:采用下列方式链接的oracl数据库
connect to oracle
                  (user=system orapw=pinggu path="@test.beijing");
                  create table test2 as
                  select * from connection to oracle
                  (select * from Prdsale);
                  disconnect from oracle;
            quit;
二维码

扫码加我 拉你入群

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

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

关键词:Oracle sas数据集 sql语句 数据集 sql oracle 数据库 空间

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

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

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

GMT+8, 2024-4-19 12:16