MAX_STRING_SIZE= LIBNAME Statement Option

Specifies how to write character values to tables in Oracle.

Valid in: SAS/ACCESS LIBNAME statement
Category: Data Set Control
Default: NONE
Data source: Oracle
Note: Support for this option was added in SAS 9.4M8.

Table of Contents

Syntax

MAX_STRING_SIZE=NONE | EXTENDED | STANDARD

Required Arguments

NONE

specifies that SAS/ACCESS uses the MAX_STRING_SIZE value from the Oracle configuration file.

EXTENDED

specifies that SAS/ACCESS writes character values to an Oracle VARCHAR2 variable that can contain up to 32767 bytes.

STANDARD

specifies that SAS/ACCESS writes character values that are 4000 bytes or less to an Oracle VARCHAR2 variable. Character values that are longer than 4000 bytes are written to CLOB variables.

Details

This option is used when creating tables in Oracle that are populated from SAS data sets. If a text variable is 32767 bytes or less and if MAX_STRING_SIZE=EXTENDED, then that variable is written to Oracle as a VARCHAR2. However, if a text value is more than 4000 bytes in length and MAX_STRING_SIZE=STANDARD, then the variable is created as a CLOB in Oracle. If MAX_STRING_SIZE=STANDARD and a text value is 4000 bytes or less, then the value is written to Oracle as a VARCHAR2.

The value that you specify for this option should match the value of the MAX_STRING_SIZE parameter in the Oracle configuration file. In some cases, Oracle returns an incorrect value for the MAX_STRING_SIZE parameter. In those cases, use this option to explicitly set the MAX_STRING_SIZE= LIBNAME option to the value of the MAX_STRING_SIZE parameter in Oracle.

Last updated: February 3, 2026