The PRESERVE_COL_NAMES=
and PRESERVE_TAB_NAMES= LIBNAME options determine how
SAS/ACCESS Interface
to DB2 under
z/OS handles case sensitivity, spaces, and special characters.
The default for both of these options is NO. Although DB2 is case-sensitive,
it converts table and column names to uppercase by default. To preserve
the case of the table and column names that you send to DB2, enclose
them in quotation marks. For information about these options, see
Overview: LIBNAME Statement for Relational Databases .
DB2 objects include
tables, views, columns, and indexes. They follow these naming conventions.
-
These objects must have names of
the following length in characters: column (1–30), index (1–18),
table (1–18), view (1–18), alias (1–18), synonym
(1–18), or correlation (1–128). However, SAS limits
table names to 32 bytes. This limitation prevents database table objects
that are defined through a DATA step—for example, to have names
that are longer than 32.
These objects must
have names from 1–8 characters long: authorization ID, referential
constraint, database, table space, storage group, package, or plan.
A location name can
be 1–16 characters long.
-
A name must begin with a letter.
If the name is in quotation marks, it can start with and contain any
character. Depending on how your string delimiter is set, quoted strings
can contain quotation marks such as “O'Malley”.
-
A name can contain the letters
A–Z, numbers from 0–9, number or pound sign (#), dollar
sign ($), or at symbol (@).
-
Names are not case sensitive. For
example,
CUSTOMER
and
Customer
are
the same. However, if the name of the object is in quotation marks,
it is case sensitive.
-
A name cannot be a reserved word
in DB2.
-
A name cannot be the same as another
DB2 object. For example, each column name within the same table must
be unique.