SAS Federation Server Driver for SAS Scalable Performance Data (SPD) Server

About the Driver

With the SAS Federation Server Driver for SPD Server (Driver for SPD Server), SPD Server tables can be accessed for reading, writing, and updating by SAS Federation Server. The Driver for SPD Server provides connectivity from a SAS Federation Server on any host to an active SPD Server. The Driver for SPD Server integrates with UNIX hosts as well as Windows.

Prerequisites

Install SAS SPD Server 5.3 and all hotfixes (including SAS Federation Server, SAS Federation Server Manager, SAS Drivers for Federation Server, and SAS 9.4) before using the Driver for SPD Server.

Securing the Connection with SSL

SAS SPD Server supports Secure Sockets Layer (SSL) connections. The Driver for SPD Server supports SSL to substantiate a secure connection. To activate SSL, you must set the SPDSRSSL environment variable. For UNIX installations, you must define the path to the client certificate with the SSLCALISTLOC environment variable. Here is an example:
export SPDSRSSL=YES
export SSLCALISTLOC=/u/dohaig/pp/OpenSSL/certs/demoCA-RSA2048-SHA384.pem
SPDSRSSL
SPDSRSSL=NO|YES|PREFERRED
The default value is NO, which specifies that client connections are not secured. To enable SSL, specify YES or PREFERRED. YES specifies that the server requires a secure client connection. PREFERRED specifies that a secure connection is allowed but not required. If a client is configured for SSL, the connection is secured.
SSLCALISTLOC
export SSLCALISTLOC=/opt/certs/demoCA-RSA2048-SHA384.pem
Specifies the location of the public certificate or certificates for trusted certificate authorities (CA).
Note: This environment variable applies to UNIX installations only.
You can also set these environment variables using the SetEnv option set in the dfs.serv.common.xml configuration file:
<OptionSet name="SetEnv">
     <Option name="SPDSRSSL">YES</Option>
     <Option name="SSLCALISTLOC">/opt/certs/demoCA-RSA2048-SHA384.pem</Option>
</OptionSet>
When you use the SetEnv option set, the environment variables are automatically defined each time SAS Federation Server initializes.

Data Service Connection Options for SPD Server

Overview

To access data that is hosted on SAS Federation Server, a client must submit a DSN that defines how to connect to the data. DSNs are associated with a data service that provides the foundation for the connection, such as user access control. See Working with Data Services for additional information.
To configure a data service for SPD Server, use the GENERIC data service type in a DDL statement. If you are using SAS Federation Server Manager to create a connection for SPD Server, use the Generic, without native catalog data service template. See the SAS Federation Server Manager: User’s Guide for details.

Connection Options

The following tables reflect the required and advanced (optional) connection options for the Driver for SPD Server.
Required Connection Options
Option
Description
CATALOG
CATALOG='catalog-name'
Required. Specifies the catalog name.
DBQ
DBQ='SPD-Server-domain-name'
Required. Specifies the domain name. For SPD Server, a domain represents a specific directory of file storage locations. Data access is facilitated by using domains and a name server.
DRIVER
DRIVER=SPDS;
Required. Specifies the SAS Federation Server driver for SPD Server.
HOST
HOST=host-name
Required. Specifies the SPD Server, or host name, to which you are connecting.
LOCALE
LOCALE=locale
Required. Specifies the locale for the connection.
PASSWORD
PASSWORD=password
Required for the USER= option. Specifies a case-sensitive password that is associated with the user ID passed to the SPD Server.
Alias: PWD, PASSWD
SERV
SERV='port-number'
Required. Specifies the port number associated with the server, or host passed through the HOST option.
Alias: PORT
USER
USER=user-name
Required. Specifies a user name that is registered in the server’s password database.
Alias: UID
Advanced Connection Options
Option
Description
ACLGROUP
ACLGRP=group-name
Specifies an ACL group that the server administrator assigned to your server user ID. By default, the server connection uses the first ACL group in your group list to make a connection. Use the ACLGRP= option to specify a different group name from the list.
ACLSPECIAL
ACLSPECIAL=YES|NO
Invokes special access to all server resources in the domain. These privileges override normal ACL restrictions and enable the user to access the resources of other users, as well as to create or modify ACLs of other users. NO is the default value.
DRIVER TRACE
DRIVER_TRACE='API | SQL | ALL';
Requests tracing information, which logs transaction records to an external file that can be used for debugging purposes. The SAS Federation Server driver writes a record of each command that is sent to the database to the trace log based on the specified tracing level, which determines the type of tracing information. The tracing levels are as follows:
  • ALL Activates all trace levels.
  • API Specifies that API method calls be sent to the trace log. This option is most useful if you are having a problem and need to send a trace log to Technical Support for troubleshooting.
  • DRIVER Specifies that driver-specific information be sent to the trace log.
  • SQL Specifies that SQL statements that are sent to the database management system (DBMS) be sent to the trace log. Tracing information is DBMS specific, but most SAS Federation Server drivers log SQL statements such as SELECT and COMMIT.
Default: Tracing is not activated.
Note: If you activate tracing, you must also specify the location of the trace log with DRIVER_TRACEFILE=. Note that DRIVER_TRACEFILE= is resolved against the TRACEFILEPATH set in ALTER SERVER. TRACEFILEPATH is relative to the server's content root location.
(Optional) You can control trace log formatting with DRIVER_TRACEOPTIONS=.
Interaction: You can specify one trace level, or you can concatenate more than one by including the | (OR) symbol. For example, driver_trace='api|sql' generates tracing information for API calls and SQL statements.
DRIVER TRACEFILE
DRIVER_TRACEFILE=’filename’;
Used to specify the name of the text file for the trace log. Include the filename and extension in single or double quotation marks. For example: driver_tracefile='\mytrace.log'
Default: The default TRACEFILE location applies to a relative filename, and it is placed relative to TRACEFILEPATH.
Requirement: DRIVER_TRACEFILE is required when activating tracing using DRIVER_TRACE.
Interaction: (Optional) You can control trace log formatting with DRIVER_TRACEOPTIONS=.
DRIVER TRACE OPTIONS
DRIVER_TRACEOPTIONS=APPEND | THREADSTAMP | TIMESTAMP;
Specifies options in order to control formatting and other properties for the trace log:
  • APPEND Adds trace information to the end of an existing trace log. The contents of the file are not overwritten.
  • THREADSTAMP Prepends each line of the trace log with a thread identification.
  • TIMESTAMP Prepends each line of the trace log with a time stamp.
Default: The trace log is overwritten with no thread identification or time stamp.
ENCODING
ENCODING=encoding_CEI
Specifies the encoding used for the session.
LOCKING
LOCKING=YES|NO
Enables record-level locking. NO is the default value.
SCHEMA
SCHEMA=(NAME='schema-name';DBQ='domain-name');
SCHEMA=(host='host-name';SERV='port–number';NAME='schema-name';DBQ='domain-name');
Note: The maximum length for a schema name is 8 characters.
Specifies schema name, location, and SPD Server override using the following suboptions:
NAME=
Required with the SCHEMA= connection option. Specifies the schema name. You can specify multiple schemas. If multiple schemas are specified, the driver treats each SCHEMA= option as an additional schema location available under the specified catalog.
DBQ=
Required with the SCHEMA= connection option. Specifies a domain name. For SPD Server, a domain represents a specific directory of file storage locations. Data access is facilitated by using domains and a name server.
HOST=
Specifies the host name of an SPD Server that overrides the parent HOST name and port number for a schema. Since there can be only one parent host for SPD Server, you can use the SCHEMA option to define a secondary SPD Server with a different HOST and port.
SERV=
Required with the HOST= connection option. Specifies the port number associated with the server configured in the HOST option.
This example connection string connects to SPD Server, lax94d01, running on port 14512. It connects to two SPD Server domains: the PUBLIC domain, referenced by the SCHEMA1 schema name; and the FORMATS domain, referenced by the SCHEMA2 schema name:
driver=spds;dbq='PUBLIC';host='lax94d01';serv='14512';
locale='en_us';catalog=cat1;SCHEMA=(name='SCHEMA1';dbq='public');
SCHEMA=(name='SCHEMA2';dbq='formats')
Last updated: March 6, 2018