SAS SHARE 介绍及使用

SAS/SHARE提供一种机制,允许多用户同时访问同一数据文件,支持本地及远程数据共享,无需额外配置SASCONNECT。通过SAS/SHARE*NET模块,非SAS客户端也能访问SAS数据。本文介绍如何配置SAS/SHARE服务器,包括启动服务、预定义数据库、管理用户访问等。
摘要由CSDN通过智能技术生成
 
 
SAS SHARE功能
其提供一个多用户访问的数据服务器,允许多个用户同时读写同一个数据文件
 
除了提供本地数据共享给用户外,也可以通过远端路径共享其它数据给用户,而无需构架SAS CONNECT进行SIGN ON
 
通过SAS ACCESS配合,SAS SHARE提供了一个访问不同数据源的统一的数据接口,起桥梁作用,如图
 
 
通过使用SAS/SHARE*NET模块,你可以使用非SAS客户端发送请求给SAS SHARE server 以为的其它不同的客户端来访问SAS数据
 
可以使用如下方式访问SAS数据集
使用SAS/SHARE*NET Driver for JDBC, 允许你读写SAS数据.
使用SAS SQL Library for C,通过API你可以读写SAS数据.
使用ShareProvider连接到SAS/SHARE*NET server以查看更新数据.
 
 
简单使用
指定通讯方式
options comamid=tcp;
启动服务器,并赋值ID
%let TCPSEC=_NONE_;
options comamid=tcp;
proc server tbufno= 12 id=shr1 AUTHENTICATE=OPTIONAL log=all;
run ;
需要注意,此时ID代表的是一个服务,必须先在OS中定义好,如WIN环境下,需该当C:/WINDOWS/system32/drivers/etc/services文件,并增加如下行
share1                   5060/tcp                #
 
预定义数据库
有如下方法
1、 在PROC SERVER使用LIBNAME语句,如libname mylib '/payroll/div2/emp';
2、在服务器管理会话中,使用PROC OPERATE过程,如
proc operate server=share1;
 allocate library mylib '/payroll/dev2/emp';
 
启动服务器
PROC SERVER <ID=> serverid <ALLOC|NOALLOC>
<AUTHENTICATE=OPT|REQ>
<LOG= value><DTF= SAS-datetime-format>;
 
你可以使用 选项 NOALLOC 限制用户分配库
通过AUTHENTICATE= 指定是否需要验证
proc server id=share1 log=(message bytecount active
 elapsedtime);
proc server id=share1 log=all;
 
指定日期格式
proc server id=share1 alloc log=cpu dtformat=time11.2;
proc server id=share1 noalloc log=io dtformat=_NODTS_;
An example of a datetime format is 18JAN1999:14:02.39.186.
 
控制管理员访问服务器
缺省,用户可以发送管理员请求到服务器,通过如下指定,则需要通过密码来访问
proc server id=share1 oapw=blue31;
这样,当你通过PROC OPERATE来访问时,必须也使用同样的OAPW选项
proc operate id=share1 sapw=blue31;
 
使用口令访问服务器
proc server id=share1 uapw=hotwings; 
run;
这样,在使用时,需如下
libname invoice server=share1 sapw=hotwings;
 
通过指定如下宏,将使2者进行交互时不使用安全认证
%let TCPSEC=_NONE_;
 
管理服务器
 
   1    proc operate serverid=share1;
   2    display user _all_;
   3    stop user maria;
   4    display user maria;
   5    quiesce user 1;
   6    display user 1;
   7    start user maria;
   8    quit;
 
使用数据
通过LIBNAME使用
libname mylib server=shr1;
通过PROC SQL使用
proc sql ;
   connect to remote(server=shr1);
   select *
   from connection to remote
      ( select *
       from dd); quit ;
访问远端数据
%let host=127.0.0.1;
libname mylib server=host.shr1;
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值