What's New in SAS/ACCESS 9.4 for Relational Databases

Overview

In SAS 9.4M8, Databricks access is supported with the Spark engine.

In SAS 9.4M7, support was added for the Spark interface and for the Yellowbrick interface. Also, in this release, SAS/ACCESS Interface to Spark is no longer available on SAS Viya 3.4 or SAS Viya 3.5.

In SAS Viya 3.5, sample programs were moved from an installation directory onto a GitHub repository. Samples for most interfaces are available from https://github.com/sassoftware/sas-access-samples.

For information about older releases, see SAS/ACCESS Updates from Older Releases.

System Options

DBIDIRECTEXEC

In SAS 94M8, the DBIDIRECTEXEC system option is enabled by default for all data sources. This is a change for these data sources:

DB2 under UNIX and PC HostsNetezza
DB2 under z/OSOracle
GreenplumPostgreSQL
HadoopSAP ASE
ImpalaSAP HANA
InformixSAP IQ
Microsoft SQL ServerTeradata
MySQLVertica

SQLGENERATION=

In SAS 9.4M8, the default value for the SQLGENERATION= system option was updated to include MYSQL.

In the August 2021 update for SAS Viya 3.5, the default for SQLGENERATION was changed to (NONE DBMS='TERADATA DB2 ORACLE NETEZZA ASTER GREENPLM HADOOP SAPHANA IMPALA HAWQ POSTGRES REDSHIFT SQLSVR VERTICA SNOW').

In SAS 9.4M7, the default value for the SQLGENERATION= system option became (NONE DBMS='TERADATA DB2 ORACLE NETEZZA ASTER GREENPLM HADOOP SAPHANA IMPALA HAWQ POSTGRES REDSHIFT SQLSVR VERTICA BIGQUERY SNOW YBRICK'). The corresponding LIBNAME option also supports these engines.

For information about updates from older releases, see System Options.

SAS/ACCESS Interface to Amazon Redshift

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were added:

In SAS 9.4M8, support was added for the SAS_REDSHIFT_UPDATE_WARNING= environment variable to facilitate working with NLS data that would otherwise trigger errors in SAS.

In the April 2022 update to SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, the USE_ODBC_CL= LIBNAME option is not supported.

In SAS 9.4M7, the default value for the INSERTBUFF= LIBNAME option is now 250.

For information about updates from older releases, see SAS/ACCESS Interface to Amazon Redshift.

SAS/ACCESS Interface to Aster

Starting with SAS 9.4M8, SAS/ACCESS Interface to Aster is no longer available. If you have an instance of SAS/ACCESS Interface to Aster and plan to upgrade to SAS 9.4M8 or later, SAS recommends that you unconfigure and uninstall it. For more information, see Unconfiguring and Uninstalling Retired Products.

For information about updates from older releases, see SAS/ACCESS Interface to Aster.

SAS/ACCESS Interface to DB2 under UNIX and PC Hosts

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

  • The default value for the BL_METHOD= data set option changed to CLILOAD. Previously, there was no default value for this option for DB2.
  • Support was added for the UPDATE_SQL= LIBNAME and data set options.
  • Support was removed for the Solaris platform.

In the August 2023 update for SAS/ACCESS on SAS 9.4M8, the behavior of DBCLIENT_MAX_BYTES= was updated to better handle graphic data types.

In SAS 9.4M8, support was added for the PRESERVE_COMMENTS= LIBNAME option and DB2_SQL_COMMENT macro variable. These options enable you to pass comments down to your data source in a query.

In the March 2021 update of SAS/ACCESS for SAS 9.4M7, syntax for the BL_OPTIONS= data set option now shows that commas are not required between multiple bulk-load option values.

In SAS 9.4M7, the BL_METHOD= data set option now supports the values IMPORT and LOAD in addition to CLILOAD.

For information about updates from older releases, see SAS/ACCESS Interface to DB2 under UNIX and PC Hosts.

SAS/ACCESS Interface to DB2 under z/OS

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

For information about updates from older releases, see SAS/ACCESS Interface to DB2 under z/OS.

SAS/ACCESS Interface to Google BigQuery

In the July 2026 update for SAS/ACCESS on SAS 9.4M9, the following updates and enhancements were made:

  • The CRED_PATH= connection option no longer accepts inpersonated_service_account and external_account files due to security updates by Google BigQuery.
  • Usage details were updated for the USE_INFORMATION_SCHEMA= LIBNAME option. For more information, see USE_INFORMATION_SCHEMA= LIBNAME Statement Option.

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In the December 2025 update on SAS 9.4M8, support was added for the following changes or features:

In SAS 9.4M9, the following changes and enhancements were added:

  • Support was added for several performance-related options: IGNORE_FEDSQL_OBJECTS=, MODE=, PROJECT_LIST=
  • Support was added for threaded Reads by using the DBSLICEPARM= and DBSLICE= options.
  • Support was added for the LARGE_RESULTS_PROJECT= LIBNAME option. In addition, support for these LIBNAME options was added for SAS 9.4M8 and SAS 9.4M9: ALLOW_LARGE_RESULTS=, LARGE_RESULTS_DATASET=, and LARGE_RESULTS_EXPIRATION_TIME=.
  • Support was added for the JSON data type.
  • The list of functions that are passed to Google BigQuery has been updated.
  • Support for the SCANSTRINGCOLUMNS= option was extended to SAS 9.4M8 and SAS 9.4M9 in the SAS 9.4M9 release.
  • Support was removed for the Solaris platform.

In the February 2025 update for SAS/ACCESS on SAS 9.4M8, support was added for the READ_MODE= LIBNAME and data set options. For more information, see READ_MODE= LIBNAME Statement Option.

In the December 2024 update for SAS/ACCESS on SAS 9.4M8, support was added for the BIGNUMERIC data type. For more information, see Data Types and Conversions for Google BigQuery.

In the September 2024 update for SAS/ACCESS on SAS 9.4M7 and in the December 2024 update for SAS/ACCESS on SAS 9.4M8, support was added for the FETCH_NUMERIC_TYPE= LIBNAME and data set options. Use these options to control how NUMERIC data is read into SAS. To preserve more than 15 digits of precision, set FETCH_NUMERIC_TYPE=NUMERIC and use the DBSASTYPE= data set option to store values as CHAR values. For more information, see FETCH_NUMERIC_TYPE= LIBNAME Statement Option.

In the March 2024 update of SAS/ACCESS for SAS 9.4M7, SAS 9.4M8, and SAS Viya 3.5, support was added for the GOMEMLIMIT= environment variable. For more information, see Troubleshooting LIBNAME Connections: Set a GOMEMLIMIT= Value.

In the January 2024 update of SAS/ACCESS for SAS 9.4M7 and in the March 2024 update of SAS/ACCESS for SAS 9.4M8 and SAS Viya 3.5, support was added for generating logging information for the Go layer for Google BigQuery. To do this, use the GO_ENABLE_LOGGING= LIBNAME and related options. For more information, see GO_ENABLE_LOGGING= LIBNAME Statement Option.

In the April 2021 update for SAS/ACCESS on SAS 9.4M7 and SAS Viya 3.5, the following updates were made:

  • Support was added for large result sets. This includes support for the ALLOW_LARGE_RESULTS=, LARGE_RESULTS_DATASET=, and LARGE_RESULTS_EXPIRATION_TIME= LIBNAME options.
  • Support was added for the READ_MODE= LIBNAME option and data set option. This option enables you to use the Extractor API or the Storage API to move data into SAS. It is recommended that you set READ_MODE=STORAGE if the Storage API is available for Google BigQuery.
  • Support was added for the SCANSTRINGCOLUMNS= LIBNAME option and data set option. This option enables more efficient handling of VARCHAR values in Google BigQuery.
  • Updates were made for data type conversions of incoming BOOLEAN, FLOAT64, and NUMERIC data. An update was made for exporting datetime data to Google BigQuery.

In SAS 9.4M7, the following enhancements were made:

  • support for bulk unloading (data retrieval) into SAS. This adds support for the BULKUNLOAD=, BL_BUCKET=, and BL_NUM_READ_THREADS= LIBNAME and data set options. The BL_DEFAULT_DIR= and BL_DELETE_DATAFILE= options can also be used for bulk unloading.
  • ability to run these procedures in-database: FREQ, MEANS, RANK, REPORT, SORT, SUMMARY, and TABULATE. This support includes support for the SQLGENERATION= LIBNAME option and the SQLGENERATION= system option.

Beginning in the May 2020 release of SAS/ACCESS for SAS Viya 3.5, the SCHEMA= LIBNAME option is required to access Google BigQuery data. The PROJECT= LIBNAME option is also required.

In the April 2020 release of SAS/ACCESS for SAS Viya 3.5, the following LIBNAME options were added to support OAuth authentication: CLIENT_ID=, CLIENT_SECRET=, and REFRESH_TOKEN=. The PROXY= LIBNAME option was added to support using a connection proxy. Support was also added for the DBCLIENT_MAX_BYTES= LIBNAME option.

In the November 2019 release of SAS Viya 3.5, support was added for the ARRAY, GEOGRAPHY, NUMERIC, and RECORD data types.

For information about updates from older releases, see SAS/ACCESS Interface to Google BigQuery.

SAS/ACCESS Interface to Greenplum

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

For information about updates from older releases, see SAS/ACCESS Interface to Greenplum.

SAS/ACCESS Interface to Hadoop

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes or enhancements were made:

  • Support was removed for the Solaris platform.
  • The reference driver changed from the open source Apache Hive driver to the Cloudera JDBC Connector for Apache Hive.
  • Hadoop JAR files and third-party driver files have new required locations. Using the old location for the JAR files causes an error. The system ignores driver files installed in other locations. For more information, see SAS Hadoop Configuration Guide for Base SAS and SAS/ACCESS.
  • Bulk loading to ADLS Gen2 for Azure HDInsight is available with additional configuration.
  • Support was added for the following connection options. These options enable you to specify configuration options in the LIBNAME statement instead of in the hive-site.xml configuration file. When specified in both locations, the LIBNAME setting overrides the setting in the configuration file.
    • ALLOW_SELF_SIGNED_CERTS=
    • HTTPPATH=
    • MAPREDUCE_JOB_NAME=
    • MAPREDUCE_JOB_QUEUENAME=
    • SSL_TRUST_STORE=
    • TEZ_QUEUE_NAME=
    • TRUST_STORE_PASSWORD=
    • ZOOKEEPER_NAMESPACE=
    • ZOOKEEPER_PORT=
    • ZOOKEEPER_QUORUM=
  • Support for the following connection options changed:
    • CLASSPATH= now specifies an alternate location for third-party driver files.
    • The HDFS_DATADIR=, HDFS_METADIR=, and HDFS_TEMPDIR= connection options are deprecated.
    • The HIVE_PRINCIPAL= connection option is returned to support.
    • The URI= option is no longer required when you connect to Hive using Knox.
  • The following LIBNAME and data set options were added or enhanced:
    • BATCH_UPDATE= LIBNAME option
    • DBCLIENT_MAX_BYTES= LIBNAME option
    • DBMAX_TEXT_TYPES= LIBNAME option and data set option
    • DRIVER_TRACE= LIBNAME option
    • DRIVER_TRACE_FILE= LIBNAME option
    • DRIVER_TRACEOPTIONS= LIBNAME option
    • INSERTBUFF= LIBNAME option and data set option
    • SASDATEFMT= data set option
    • BL_FORMAT= LIBNAME option and data set option (Parquet format added; ORC limitation noted)
    • TEMP_CTAS= LIBNAME (default changed to NO)
    • READBUFF= LIBNAME option (maximum value increased to 100,000)

In the November 2023 update to SAS 9.4M7 and SAS 9.4M8, a new environment variable was added to enable bulk loading to Cloudera Data Platform Private Cloud - Data Services.

In SAS 9.4M8, the following enhancements and changes were made:

  • enhanced transaction logging. This is controlled with the DRIVER_TRACE= and related options.
  • ability to override the default read buffer size. Support has been added for the READBUFF= LIBNAME and data set options.
  • ability to specify the default location to create new external tables. Support has been added for the DBCREATE_TABLE_LOCATION= LIBNAME option. This option is used with the DBCREATE_TABLE_EXTERNAL= LIBNAME option.
  • ability to specify the default file format of the Hadoop bulk load staging file. Support has been added for the BL_FORMAT= LIBNAME and data set options.
  • support for JDBC drivers other than the Apache Hive open source driver. For more information, see SAS Hadoop Configuration Guide for Base SAS and SAS/ACCESS.
  • ability to specify additional resources to add to the JDBC class path. Support has been added for the CLASSPATH= LIBNAME option.
  • The CONFIG= LIBNAME option and the CONFIG= data set option are deprecated. It is preferable to use the documented configuration steps and set the appropriate environment variables. For more information, see Running the Hadoop Tracer Script.
  • The DRIVER= LIBNAME option is now an alias for the DRIVERCLASS= LIBNAME option.
  • The HDFS_PRINCIPAL= LIBNAME option is deprecated.
  • The HIVE_PRINCIPAL= LIBNAME option is deprecated.

In the June 2022 update for SAS/ACCESS on SAS 9.4M7, support was added for the SUB_CHAR= LIBNAME option and the SUB_CHAR= data set option.

In SAS 9.4M7, support was added for the DRIVERCLASS= LIBNAME option.

In SAS Viya 3.5, the TRANSCODE_FAIL= LIBNAME option is deprecated. Use the SUB_CHAR= LIBNAME option instead.

For information about updates from older releases, see SAS/ACCESS Interface to Hadoop.

SAS/ACCESS Interface to HAWQ

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

Starting with SAS 9.4M8, SAS/ACCESS Interface to HAWQ is no longer available. If you have an existing installation of SAS/ACCESS Interface to HAWQ and plan to upgrade to SAS 9.4M8 or later, SAS recommends that you first unconfigure and uninstall SAS/ACCESS Interface to HAWQ. For more information, see Unconfiguring and Uninstalling Retired Products.

As an alternative to HAWQ, consider storing your data on Greenplum and accessing it with SAS/ACCESS Interface to Greenplum.

In SAS Viya 3.5, support for the following options has changed:

  • DBNULLKEYS= LIBNAME option: The default value is YES.
  • PRESERVE_COL_NAME= LIBNAME option: The default value is YES.
  • SPOOL= LIBNAME option: The default value is YES.

For information about updates from older releases, see SAS/ACCESS Interface to HAWQ.

SAS/ACCESS Interface to Impala

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

The following changes and enhancements were made in SAS 9.4M9:

  • Information was added about configuration for the Impala interface. For more information, see Configuring Impala ODBC Driver.
  • You can now pass these functions to Impala for processing: ATAN2, COALESCE, COSH, COT, DTEXTDATY, DTEXTMONTH, DTEXTWEEKDAY, DTEXTYEAR, LENGTHC, LOG2, MOD, QTR, REPEAT, SIGN, SINH, VAR, WEEKDAY
  • SAS exports data that is formatted as DATEw. as a DATE value in Impala.

In SAS 9.4M8, the CONFIG= LIBNAME option and the CONFIG= data set option are deprecated. It is preferable to use the tracer tool to configure the appropriate environment variables. For more information, see Running the Hadoop Tracer Script.

In the May 2020 update for SAS/ACCESS on SAS Viya 3.5, the default value for the DBCLIENT_MAX_BYTES= LIBNAME option now matches the maximum number of bytes per single character of the SAS session encoding.

In SAS Viya 3.5, support for the SCRATCH_DB= LIBNAME and data set option was added.

For information about updates from older releases, see SAS/ACCESS Interface to Impala.

SAS/ACCESS Interface to Informix

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

  • Critical change: The function of the SERVER= option has changed in SAS 9.4M9. Support was added for the DSN= connection option. Replace the SERVER= option with DSN= in existing programs. Alternatively, you can connect to Informix without the DSN= option by specifying DATABASE=, HOST=, PORT=, and SERVER= (now the server name). For more information, see Arguments.
  • Support for bulk loading to and bulk unloading from an Informix data source. Bulk loading is supported on Linux only. For more information, see Bulk Loading and Unloading with Informix.
  • Support for the READBUFF= LIBNAME and data set options. For more information, see READBUFF= LIBNAME Statement Option.
  • Support for the INSERTBUFF= LIBNAME and data set options. For more information, see INSERTBUFF= LIBNAME Statement Option.

For information about updates from older releases, see SAS/ACCESS Interface to Informix.

SAS/ACCESS Interface to JDBC

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes or enhancements were made:

  • There is a new required location for third-party driver files. Driver files that are not installed in the required location are ignored.
  • The CLASSPATH= connection option now specifies an alternate location for third-party driver files.
  • The following options were added or enhanced:
    • BATCH_UPDATE= LIBNAME option (replaced BULKLOAD=)
    • DBCLIENT_MAX_BYTES= LIBNAME option
    • DBMAX_TEXT_TYPES= LIBNAME option and data set option
    • DRIVER_TRACE= LIBNAME option
    • DRIVER_TRACE_FILE= LIBNAME option
    • DRIVER_TRACEOPTIONS= LIBNAME option
    • SASDATEFMT= data set option
    • READBUFF= LIBNAME option (maximum value increased to 100,000)

In SAS 9.4M8, the following changes and enhancements were made:

  • support for enhanced transaction logging. This is controlled with the DRIVER_TRACE= and related options.
  • ability to override the default read buffer size. Support has been added for the READBUFF= LIBNAME and data set options.

In SAS Viya 3.5, the TRANSCODE_FAIL= LIBNAME option is deprecated. Use the SUB_CHAR= LIBNAME option instead.

For information about updates from older releases, see SAS/ACCESS Interface to JDBC.

SAS/ACCESS Interface to Microsoft SQL Server

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

  • The default value for the INSERTBUFF= LIBNAME option is now calculated based on row size.
  • Support was added for the SCANSTRINGCOLUMNS= LIBNAME and data set options.
  • The value for the SCHEMA= option is now passed automatically to PROC FEDSQL.
  • Support was removed for the Solaris platform.

In the September 2024 update for SAS/ACCESS on SAS 9.4M8, a clarification was added for the USE_ODBC_CL= LIBNAME option when running on UNIX. For more information, see USE_ODBC_CL= LIBNAME Statement Option.

In the June 2023 update for SAS/ACCESS on SAS 9.4M8, support was added for the USE_SP_TABLES= LIBNAME option. For more information, see USE_SP_TABLES= LIBNAME Statement Option.

In SAS 9.4M8, support was added for the PRESERVE_COMMENTS= LIBNAME option and SQLSERVER_SQL_COMMENT macro variable. These options enable you to pass comments down to your data source in a query.

In SAS 9.4M7, support was added for connecting to and bulk loading to Azure Synapse Analytics when using a Microsoft Azure Data Lake Storage Gen 2 storage account. Connecting to Azure Synapse Analytics requires that you specify values for the AZUREAUTHCACHELOC= and AZURETENANTID= system options. Support for bulk loading includes these options:

BL_ACCOUNTNAME= LIBNAME option and data set option
BL_APPLICATIONID= LIBNAME option and data set option
BL_COMPRESS= LIBNAME option and data set option
BL_DEFAULT_DIR= LIBNAME option and data set option
BL_DELETE_DATAFILE= LIBNAME option and data set option
BL_DELIMITER= LIBNAME option and data set option
BL_DNSSUFFIX= LIBNAME option and data set option
BL_FILESYSTEM= LIBNAME option and data set option
BL_FOLDER= LIBNAME option and data set option
BL_IDENTITY= LIBNAME option and data set option
BL_LOG= LIBNAME option and data set option
BL_MAXERRORS= LIBNAME option and data set option
BL_NUM_DATAFILES= data set option
BL_OPTIONS= LIBNAME option and data set option
BL_SECRET= LIBNAME option and data set option
BL_TIMEOUT= LIBNAME option and data set option
BL_USE_ESCAPE= LIBNAME option and data set option
BL_USE_LOG= LIBNAME option and data set option
BULKLOAD= LIBNAME option and data set option

For information about updates from older releases, see SAS/ACCESS Interface to Microsoft SQL Server.

SAS/ACCESS Interface to MySQL

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

  • The DBMSTEMP= LIBNAME option now honors the CONNECTION= LIBNAME option. Documentation of supported values for MySQL for the CONNECTION= LIBNAME option has been clarified. A recommendation about an interacting option, RESULTS=, was added.
  • Support was added for the BL_USE_PIPE= LIBNAME and data set options.
  • Support was added for the POST_COLUMN_OPTS= data set option.
  • The DISK value was deprecated for the RESULTS= LIBNAME option.
  • Support for accessing SingleStore data by using a MySQL LIBNAME statement has been deprecated.
  • Support was removed for the Solaris platform.

In SAS 9.4M8, support was added for the following features and enhancements:

  • in-database processing of the FREQ, MEANS, RANK, REPORT, SORT, SUMMARY, and TABULATE procedures.
  • The default value for the SQLGENERATION= system option was updated to include MYSQL so that in-database processing is enabled automatically.
  • There is no longer support for SAS/ACCESS Interface to MySQL on the AIX platform. Documentation remains for existing customers.

In the September 2022 update for SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, a restriction was modified that concerns using the MySQL interface to access SingleStore (formerly MemSQL) data sources. To access SingleStore, specify UTF-8 as your session encoding.

In SAS 9.4M7, the default value for the INSERTBUFF= LIBNAME option has changed from 0 to 1.

In SAS Viya 3.5, support was added for the JSON data type.

For information about updates from older releases, see SAS/ACCESS Interface to MySQL.

SAS/ACCESS Interface to Netezza

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, support was removed for the Solaris platform.

For information about updates from older releases, see SAS/ACCESS Interface to Netezza.

SAS/ACCESS Interface to ODBC

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS Viya 3.5, the following changes or enhancements were added:

  • Support for the Power Linux platform
  • CURSOR_TYPE= LIBNAME option: There is no longer a default value for this option.

In SAS 9.4M8, the following changes and enhancements were made:

  • Support was added for the PRESERVE_COMMENTS= LIBNAME option and ODBC_SQL_COMMENT macro variable. These options enable you to pass comments down to your data source in a query.
  • Support was added for ODBC for the DBIDIRECTEXEC system option.

In SAS 9.4M9, the following changes and enhancements were made:

For information about updates from older releases, see SAS/ACCESS Interface to ODBC.

SAS/ACCESS Interface to OLE DB

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

For information about updates from older releases, see SAS/ACCESS Interface to OLE DB.

SAS/ACCESS Interface to Oracle

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

  • SAS uses the BL_PARFILE= data set option automatically when you set BULKLOAD=YES. For more information, see Bulk Loading for Oracle.
  • Support was added for authentication with Oracle Wallet. For more information, see Connect to Oracle by Using the Oracle Wallet.
  • The default value for the INSERTBUFF= LIBNAME option changed from 10 to 500.
  • Support was removed for the Solaris platform.

In SAS 9.4M8, support was added for these changes and enhancements:

  • support was added for the MAX_STRING_SIZE= LIBNAME option. This option enables you to explicitly specify the Oracle MAX_STRING_SIZE parameter value.
  • support was added for the PRESERVE_COMMENTS= LIBNAME option. This option enables you to pass comments down to your data source in a query.
  • SAS/ACCESS Interface to Oracle on the z/OS platform is no longer supported. If you have an existing instance of SAS/ACCESS Interface to Oracle on z/OS and plan to upgrade to SAS 9.4M8 or later, then SAS/ACCESS recommends that you unconfigure and uninstall it. For more information, see Unconfiguring and Uninstalling Retired Products.

Beginning in the April 2020 release of SAS/ACCESS for SAS Viya 3.5, BL_SQLLDR_PATH= is no longer supported.

For information about updates from older releases, see SAS/ACCESS Interface to Oracle.

SAS/ACCESS Interface to PostgreSQL

In the July 2026 update for SAS/ACCESS on SAS 9.4M9, the following updates were made:

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

In the September 2023 update for SAS/ACCESS for SAS 9.4M8, information was added about managing memory with large amounts of data. For more information, see Managing Memory with Large Amounts of Data.

In SAS 9.4M8, the following enhancements and changes were made:

  • Support was added for in-database processing for PROC COPY.
  • Support was added for the SAS_POSTGRES_UPDATE_WARNING= environment variable to facilitate working with NLS data that would otherwise trigger errors in SAS.

In the September 2022 update for SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, a restriction was added for the SSLMODE= LIBNAME option. All values must be specified in lowercase for this option.

In the April 2022 update for SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, the following changes have been made:

  • The TRACE= and TRACEFILE= LIBNAME options are valid only for Windows platforms.
  • The USE_ODBC_CL= LIBNAME option is not supported.

In the March 2021 update for SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, a clarification was added to the BL_ESCAPE= data set option. For PostgreSQL, because BL_ESCAPE= is applicable only to CSV files, you must also set BL_FORMAT=CSV.

In SAS Viya 3.5, support was added for the following features and changes:

  • Linux on the Power Architecture platform was added
  • bulk unloading, which includes the BULKUNLOAD= data set option
  • BL_DELIMITER= data set option: The default value is the pipe symbol (|).
  • INSERT_SQL= LIBNAME option was added

For information about updates from older releases, see SAS/ACCESS Interface to PostgreSQL.

SAS/ACCESS Interface to SAP ASE

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, support was removed for the Solaris platform.

For information about updates from older releases, see SAS/ACCESS Interface to SAP ASE.

SAS/ACCESS Interface to SAP HANA

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, support was removed for the Solaris platform.

In the August 2023 update for SAS/ACCESS on SAS 9.4M8, support was added for the DBCLIENT_MAX_BYTES= LIBNAME option.

In the November 2020 update for SAS/ACCESS on SAS 9.4M7, support was added for the DBSASLABEL= LIBNAME option and the DBMS value in the DBSASLABEL= data set option.

For information about updates from older releases, see SAS/ACCESS Interface to SAP HANA.

SAS/ACCESS Interface to SAP IQ

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, support was removed for the Solaris platform.

In SAS 9.4M8, support was added for the DBCLIENT_MAX_BYTES= LIBNAME option.

In SAS 9.4M7, the output from PROC CONTENTS and PROC DATASETS now includes the SAP IQ client version and server version. The output for PROC DATASETS also includes the LIBNAME engine.

For information about updates from older releases, see SAS/ACCESS Interface to SAP IQ.

SAS/ACCESS Interface to Snowflake

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In the August 2025 update for SAS 9.4M7 and later, support was added for RSA key-pairs as a method to authenticate to Snowflake databases when MFA is not feasible. For more information, see Authentication to Snowflake.

In SAS 9.4M9, the following changes and enhancements were made:

In the March 2024 release of SAS/ACCESS on SAS 9.4M8, the default value for the AUTOCOMMIT= LIBNAME option was changed to YES.

In SAS 9.4M8, support for the BL_FORMAT_OPT= data set option was added.

In the July 2021 update for SAS 9.4M7, support was added for the DBMSTEMP= LIBNAME option. This option is not supported on SAS Viya 3.5.

In the May 2020 update of SAS/ACCESS for SAS Viya 3.5, the following changes and enhancements were made:

  • When the DBIDIRECTEXEC= system option is enabled, you can update and insert content into a table that has a primary key.
  • You can now emulate a positional cursor in Snowflake data.
  • Both of these are now required: The SCHEMA= LIBNAME option and data set option.
  • The default value for the DBCLIENT_MAX_BYTES= LIBNAME option now matches the maximum number of bytes per single character of the SAS session encoding.

For information about updates from older releases, see SAS/ACCESS Interface to Snowflake.

SAS/ACCESS Interface to Spark

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes or enhancements were made:

  • Hadoop JAR files that support access to Spark in HDFS have a new required location. Using the old location for the JAR files causes an error. For more information, see SAS Hadoop Configuration Guide for Base SAS and SAS/ACCESS.
  • There is a new required location for third-party driver files. Spark and Databricks driver files that are not installed in the required location are ignored.
  • Support was added for the following connection options. These options enable you to specify configuration options in the LIBNAME statement instead of in the hive-site.xml configuration file. When specified in both locations, the LIBNAME setting overrides the setting in the configuration file.
    • ALLOW_SELF_SIGNED_CERTS=
    • HTTPPATH=
    • MAPREDUCE_JOB_NAME=
    • MAPREDUCE_JOB_QUEUENAME=
    • SSL_TRUST_STORE=
    • TEZ_QUEUE_NAME=
    • TRUST_STORE_PASSWORD=
    • ZOOKEEPER_NAMESPACE=
    • ZOOKEEPER_PORT=
    • ZOOKEEPER_QUORUM=
  • The CLASSPATH= connection option now specifies an alternate location for third-party driver files.
  • Bulk loading and bulk unloading (retrieval) to Databricks in Azure is available. The following options are supported:
    • AZURETENANTID= system option
    • AZUREAUTHCACHELOC= system option
    • BL_ACCOUNTNAME= LIBNAME option or data set option
    • BL_APPLICATIONID= LIBNAME option or data set option
    • BL_FILESYSTEM= LIBNAME option or data set option
    • BL_FOLDER= LIBNAME option or data set option
    • BULKLOAD= LIBNAME option or data set option
    • BULKUNLOAD= LIBNAME option or data set option
  • Bulk loading to Databricks in Amazon Web Services is available. The following options are supported:
    • BL_AWS_CREDENTIALS_FILE= LIBNAME option or data set option
    • BL_BUCKET= LIBNAME option or data set option
    • BL_AWS_CONFIG_FILE= LIBNAME option or data set option
    • BL_AWS_PROFILE_NAME= LIBNAME option or data set option
    • BL_CONFIG= LIBNAME option or data set option
    • BL_ENC_KEY= LIBNAME option or data set option
    • BL_IAM_ASSUME_ROLE_ARN= LIBNAME option or data set option
    • BL_IAM_ASSUME_ROLE_NAME= LIBNAME option or data set option
    • BL_IAM_ROLE= LIBNAME option or data set option
    • BL_KEY= LIBNAME option or data set option
    • BL_REGION= LIBNAME option or data set option
    • BL_TOKEN= LIBNAME option or data set option
    • BL_USE_SSL= LIBNAME option or data set option
    • BULKLOAD= LIBNAME option or data set option
  • The following bulk loading options are also supported for Databricks:
    • BL_COMPRESS= LIBNAME option or data set option
    • BL_DEFAULT_DIR= LIBNAME option or data set option
    • BL_DELETE_DATAFILE= LIBNAME option or data set option
    • BL_DELIMITER= LIBNAME option or data set option
    • BL_DNSSUFFIX= LIBNAME option or data set option
    • BL_FORMAT= LIBNAME option and data set option
    • BL_FORMAT_OPT= LIBNAME option and data set option
    • BL_NUM_DATAFILES= data set option
    • BL_TIMEOUT= LIBNAME option or data set option
  • The following general LIBNAME options and data set options were added or enhanced:
    • BATCH_UPDATE= LIBNAME option
    • DBCLIENT_MAX_BYTES= LIBNAME option
    • DBMAX_TEXT_TYPES= LIBNAME option and data set option
    • DRIVER_TRACE= LIBNAME option
    • DRIVER_TRACE_FILE= LIBNAME option
    • DRIVER_TRACEOPTIONS= LIBNAME option
    • INSERTBUFF= LIBNAME option and data set option
    • SASDATEFMT= data set option
    • READBUFF= LIBNAME option (maximum value increased to 100,000 for Spark; the default is 100,000 for Databricks)
    • TEMP_CTAS= LIBNAME option (default changed to NO)

In SAS 9.4M8, the following changes and enhancements were made:

  • ability to access data in Databricks. To connect to Databricks, you must obtain, install, and configure the Databricks JDBC driver. For more information, see SAS Hadoop Configuration Guide for Base SAS and SAS/ACCESS.
  • support for JDBC drivers other than the Apache Hive open source driver. For more information, see SAS Hadoop Configuration Guide for Base SAS and SAS/ACCESS.
  • ability to specify additional resources to add to the JDBC class path. Support has been added for the CLASSPATH= LIBNAME option.
  • support for enhanced transaction logging. This is controlled with the DRIVER_TRACE= and related options.
  • ability to override the default read buffer size. Support has been added for the READBUFF= LIBNAME and data set options.
  • June 2023: The READ_METHOD= LIBNAME option and data set option are no longer documented for the Spark interface. The MULTI_DATASRC_OPT= LIBNAME option is documented for the Spark interface. The documentation was updated to specify the latest JDBC driver from Databricks.

In SAS 9.4M7, support was added for the Spark interface on SAS 9.4. Also, in this release, SAS/ACCESS Interface to Spark is no longer available on SAS Viya 3.4 or on SAS Viya 3.5.

SAS/ACCESS Interface to Teradata

In the September 2026 update for SAS/ACCESS on SAS 9.4M9, support was added for single sign-on authentication. You can use either refresh tokens or a client ID and client secret. For more information, see OAuth Authentication for Teradata.

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In the February 2026 update for SAS/ACCESS on SAS 9.4M9, support was added for the TD_SAMPLE= LIBNAME option and data set option. For more information, see TD_SAMPLE= LIBNAME Statement Option.

In SAS 9.4M9, the following changes and enhancements were made:

  • Support was reinstated for Teradata on the z/OS platform. Support for Teradata on z/OS remains unsupported for SAS/ACCESS on SAS 9.4M8.
  • The legacy (non-TPT) Teradata FastLoad, FastExport, and MultiLoad utilities are no longer supported. The TPT API is used by SAS/ACCESS to perform these load and export operations instead, even when TPT=NO.
  • The default value for the TPT_PACKMAXIMUM= data set option is now YES.
  • Starting in SAS 9.4M9, do not specify DBSLICEPARM=ALL (all platforms). SAS/ACCESS Interface to Teradata on z/OS does not support the DBSLICEPARM= options. Instead of using this option, set FASTLOAD=YES.
  • Support was removed for the Solaris platform.

In the October 2024 update for SAS/ACCESS on SAS 9.4M7, there is a change in behavior for users on the AIX platform for these options: BL_DATAFILE=, FASTEXPORT=, and FASTLOAD=. Setting TPT=NO, FASTEXPORT=NO, or FASTLOAD=NO is no longer honored. The TPT API is always used to export data.

In the August 2024 update for SAS/ACCESS on SAS 9.4M8, there is a change in behavior for users on the AIX platform for these options: BL_DATAFILE=, FASTEXPORT=, and FASTLOAD=. Setting TPT=NO, FASTEXPORT=NO, or FASTLOAD=NO is no longer honored. The TPT API is always used to export data.

In a July 2023 update for SAS/ACCESS on SAS 9.4M8, an update was made to the list of options that must match for a join between tables that are accessed from separate LIBNAME statements. These statements must also match on the DATABASE= option. For more information, see Passing Joins to Teradata.

In SAS 9.4M8, support was added for the following changes and enhancements:

  • Support has been added for the OVERRIDE_RESP_LEN= LIBNAME option. This option enables you to specify a response buffer length that is larger than the default length of 1,048,500 bytes when you are not using the TPT API.
  • Support has been added for the TD_1MB_ROW environment variable. This environment variable works with the TPT API and enables SAS/ACCESS Interface to Teradata to retrieve response rows up to 1MB.
  • SAS/ACCESS Interface to Teradata on the z/OS platform is not available.
    Note: Starting in SAS 9.4M9, support for Teradata on z/OS was reinstated. Support was not reinstated on SAS 9.4M8.

The SAS Viya 3.5 release includes the following changes or enhancements:

  • Support for the Teradata NUMBER data type was added.
  • Information was added about how to add comments to SQL code when using PROC SQL. For more information, see Including Comments in SQL Code.
  • There is no default value for the ERRLIMIT= LIBNAME option.

For information about updates from older releases, see SAS/ACCESS Interface to Teradata.

SAS/ACCESS Interface to Yellowbrick

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, support was removed for the Solaris platform.

In SAS 9.4M8, information was added about how to work with long character values in Yellowbrick.

In the September 2022 update for SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, a restriction was added for the SSLMODE= LIBNAME option. All values must be specified in lowercase for this option.

In the April 2022 update for SAS/ACCESS for SAS 9.4M7 and SAS Viya 3.5, the following changes have been made:

  • The TRACE= and TRACEFILE= LIBNAME options are valid only for Windows platforms.
  • The USE_ODBC_CL= LIBNAME option is not supported.

Support for the Yellowbrick interface was added in SAS 9.4M7. This includes support for bulk loading, bulk unloading, and in-database processing of summary procedures, such as PROC MEANS.

SAS/ACCESS Interface to Vertica

In the April 2026 update for SAS/ACCESS on SAS 9.4M8, the list of options that must match for joins to be passed to the database has been updated.

In SAS 9.4M9, the following changes and enhancements were made:

  • Support was added for in-database processing with PROC COPY. For more information, see Running PROC COPY In-Database for Vertica.
  • The DATABASE= option is now required in a LIBNAME statement for Vertica. For more information, see LIBNAME Statement for the Vertica Engine.
  • The Vertica interface does not support the INTERVAL, TIME WITH TIMEZONE, or the TIMESTAMP WITH TIMEZONE data types.
  • Support was removed for the Solaris platform.

In the November 2024 update for SAS 9.4M8, the default value for the TRACE= option changed from NO to none (no default).

For information about updates from older releases, see SAS/ACCESS Interface to Vertica.

Last updated: September 24, 2026