SAS Names and Support for DBMS Names DBLOAD Procedure 9
If a name literal contains any characters that are not allowed when
VALIDVARNAME=V7, then you must set the system option to
VALIDVARNAME=ANY. For details on using the VALIDVARNAME= system
option, see “VALIDVARNAME= System Option” on page 225.
SAS/ACCESS Default Naming Behaviors
When SAS/ACCESS reads DBMS column names that contain characters that are not
standard in SAS names, the default behavior is to replace an unsupported character
with an underscore (_). For example, the DBMS column name Amount Budgeted$
becomes the SAS variable name Amount_Budgeted_.
Note: Nonstandard names include those with blank spaces or special characters
(such as @, #, %) that are not allowed in SAS names.
When SAS/ACCESS encounters a DBMS name that exceeds 32 characters, it
truncates the name.
After it has modified or truncated a DBMS column name, SAS appends a number to
the variable name, if necessary, to preserve uniqueness. For example, DBMS column
names MY$DEPT, My$Dept, and my$dept become SAS variable names MY_DEPT,
MY_Dept0, and my_dept1.
ACCESS Procedure
If you attempt to use long names in the ACCESS procedure, you get an error
message advising you that long names are not supported. Long member names, such as
access descriptor and view descriptor names, are truncated to 8 characters. Long
DBMS column names are truncated to 8-character SAS variable names within the SAS
access descriptor. You can use the RENAME= statement to specify 8-character SAS
variable names, or you can accept the default truncated SAS variable names that are
assigned by the ACCESS procedure.
The ACCESS procedure converts DBMS object names to uppercase characters unless
they are enclosed in quotation marks. Any DBMS objects that are given lowercase
names when they are created, or whose names contain special or national characters,
must be enclosed in quotation marks.
DBLOAD Procedure
You can use long member names, such as the name of a SAS data set that you want
to load into a DBMS table, in the DBLOAD procedure DATA= option. However, if you
attempt to use long SAS variable names, you get an error message advising you that
long variable names are not supported in the DBLOAD procedure. You can use the
RENAME= statement to rename the 8-character SAS variable names to long DBMS
column names when you load the data into a DBMS table. You can also use the SAS
data set option RENAME= to rename the columns after they are loaded into the DBMS.
Most DBLOAD procedure statements convert lowercase characters in user-specified
values and default values to uppercase. If your host or database is case sensitive and
you want to specify a value that includes lowercase alphabetic characters (for example,
a user ID or password), enclose the entire value in quotation marks. You must also put
quotation marks around any value that contains special characters or national
characters.
The only exception is the DBLOAD SQL statement. The DBLOAD SQL statement is
passed to the DBMS exactly as you type it, with case preserved.