sas与大型数据库的接口
作者:未知
sas提供了两种办法可以访问大型数据库。sas/access可以直接连接oracle、sybase 、sql server等大型数据库。为了访问储存在这些数据库中的
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
,需要对数据库中的表在sas 中建立访问描述文件(access descriptor),和视图描述文件(view descriptor)。例如,在数据库服务器dbin中有一个数据库finance,其中有一个表sales,用户名guest用密码anyone 可以访问此库,就可以用以下程序在sas中建立访问描述文件和视图文件:
proc access dbms=sybase; create sasuser.sales.access; server=dbin; database=finance; table=sales;
user=guest; password=anyone; create sasuser.salesall.view; select all;run;
其中大写的部分是固定的。这段程序首先生成了访问描述文件sasuser.sales.access,然后由此访问描述文件生成了视图文件sasuser.salesall.view。在sas中视图文件和数据集的使用是一样的,可以使用数据集的地方都可以使用视图文件。
对于sas没有直接支持的数据库管理系统,我们在ms windows下总可以使用odbc数据库接口来连接到数据库,这要求我们在安装sas时安装了odbc驱动。为了访问外部数据库,首先要在计算机上安装该数据库的客户端驱动程序,然后在windows的控制面板中打开odbc的控制,新建一项odbc数据源,输入该数据库管理器的名字,数据库名。然后,使用proc sql程序来建立视图我们以前的数据库为例,假设建立了odbc数据源finodb:
proc sql; connect to odbc (dsn=finodb uid=guest pwd=anyone); create view sasuser.sales2 as select
* from connection to odbc ( select * from sales );quit;
其中的connect to语句用来建立到数据库的连接,后面的create view语句建立一个视图,但是图的数据来源是odbc数据源,所以as后面是关键字select * from connection to odbc ,然后在括号中给出了具体的从外部数据库中取得一个查询结果的sql语句。这个sql语句可以用来取表的一个子集构成视图。生成的sasuser.sales2是一个sas视图,在访问时将用保存的连接参数临时去访问外部数据库来得到数据。
这种使用proc sql直接连接外部数据库的方法也适用于非odbc的数据源。
SAS提供了两种办法可以访问大型数据库。SAS/ACCESS可以直接连接Oracle、Sybase 、SQL Server等大型数据库。为了访问储存在这些数据库中的表,需要对数据库中的表在SAS 中建立访问描述文件(access descriptor),和视图描述文件(view descriptor)。例如,在数据库服务器DBIN中有一个数据库Finance,其中有一个表Sales,用户名guest用密码anyone 可以访问此库,就可以用以下程序在SAS中建立访问描述文件和视图文件:
PROC ACCESS DBMS=SYBASE;
CREATE sasuser.sales.ACCESS;
SERVER='DBIN';
DATABASE='Finance';
TABLE='Sales';
USER='guest';
PASSWORD='anyone';
CREATE sasuser.salesall.VIEW;
SELECT ALL;
RUN;
其中大写的部分是固定的。这段程序首先生成了访问描述文件SASUSER.SALES.ACCESS,然后由此访问描述文件生成了视图文件SASUSER.SALESALL.VIEW。在SAS中视图文件和数据集的使用是一样的,可以使用数据集的地方都可以使用视图文件。
对于SAS没有直接支持的数据库管理系统,我们在MS Windows下总可以使用ODBC数据库接口来连接到数据库,这要求我们在安装SAS时安装了ODBC驱动。为了访问外部数据库,首先要在计算机上安装该数据库的客户端驱动程序,然后在Windows的控制面板中打开ODBC的控制,新建一项ODBC数据源,输入该数据库管理器的名字,数据库名。然后,使用PROC SQL程序来建立视图我们以前的数据库为例,假设建立了ODBC数据源finodb:
PROC SQL;
CONNECT TO ODBC (DSN='finodb' UID='guest' PWD='anyone');
CREATE VIEW sasuser.sales2 AS
SELECT * FROM CONNECTION TO ODBC (
SELECT * FROM Sales );
QUIT;
其中的CONNECT TO语句用来建立绞菘獾牧樱竺娴腃REATE VIEW语句建立一个视图,但是图的数据来源是ODBC数据源,所以AS后面是关键字SELECT * FROM CONNECTION TO ODBC ,然后在括号中给出了具体的从外部数据库中取得一个查询结果的SQL语句。这个SQL语句可以用来取表的一个子集构成视图。生成的SASUSER.SALES2是一个SAS视图,在访问时将用保存的连接参数临时去访问外部数据库来得到数据。
这种使用PROC SQL直接连接外部数据库的方法也适用于非ODBC的数据源。