310 Descriptors with the ACCESS Procedure Appendix 1
Figure 18.1 Creating an Access Descriptor and View Descriptors for a DBMS Table
DBMS
Table or View
Access
Descriptor File
View Descriptor Files
You use a view descriptor in a SAS program much as you would any SAS data set.
For example, you can specify a view descriptor in the DATA= statement of a SAS
procedure or in the SET statement of a DATA step.
You can also use a view descriptor to copy DBMS data into a SAS data file; this is
called extracting the data. When you need to use DBMS data in a number of procedures
or DATA steps, extracting the data into a SAS data file might use fewer resources than
repeatedly accessing the data directly.
Note: The SAS/ACCESS interface view engine usually tries to pass WHERE
conditions to the DBMS for processing, because in most cases it is more efficient for a
DBMS to process WHERE conditions than for SAS to do the processing.
SAS enables you to control access to SAS data sets and access descriptors by
associating one or more SAS passwords with them. When you create an access
descriptor, the connection information that you provide is stored in the access descriptor
and in any view descriptors based on that access descriptor. The password is stored in
an encrypted form. When these descriptors are accessed, the connection information
that was stored is also used to access the DBMS table or view. To ensure data security,
you might want to change the protection on the descriptors to prevent others from
seeing the connection information stored in the descriptors.
When you create or update view descriptors, you can use a SAS data set option after
the ACCDESC= option to specify the access descriptor’s password (if one exists). In this
case, you are not assigning a password to the view descriptor that is being created or
updated. Rather, using the password grants you permission to use the access descriptor
to create or update the view descriptor. For example:
proc access dbms=sybase accdesc=adlib.customer
(alter=rouge);
create vlib.customer.view;
select all;