PROVIDER_TYPES Schema Rowset

Standard Mapping

The PROVIDER_TYPES schema rowset returns metadata that indicates which data types are returned by the provider. Each row in the PROVIDER_TYPES schema rowset corresponds to one data type.
The SAS providers return two data types (numeric data and character data), which means that the PROVIDER_TYPES schema rowset contains only two rows. Numeric data is returned as a DBTYPE_R8 type indicator. Character data is returned as a DBTYPE_STR type indicator.
The following table lists the 16 columns (of the 20 columns in the OLE DB specification) that contain data.
Standard Mapping
Column Name
Type Indicator
Mapped Value
Restrictions Supported?
TYPE_NAME
DBTYPE_WSTR
Data type name. Value is either num or char.
No
DATA_TYPE
DBTYPE_UI2
The DBTYPE value that corresponds to the current data type (numeric or character).
Yes
COLUMN_SIZE
DBTYPE_UI4
For numeric data, the maximum precision of the data type. For character data, the maximum length of the column in characters.
No
LITERAL_PREFIX
DBTYPE_WSTR
Character used to prefix a literal of the data type in a text command.
No
LITERAL_SUFFIX
DBTYPE_WSTR
Character used to create a suffix for a literal of the data type in a text command.
No
IS_NULLABLE
DBTYPE_BOOL
VARIANT_TRUE if the data type can be set to NULL; VARIANT_FALSE if the data type cannot be set to NULL.
No
CASE_SENSITIVE
DBTYPE_BOOL
VARIANT_TRUE if the data type is character data and also case-sensitive. VARIANT_FALSE if the data type is not character data or is not case sensitive.
No
SEARCHABLE
DBTYPE_UI4
Indicates whether the data type is searchable. Value is DB_SEARCHABLE if the provider supports ICommandText and the data type can be used with any relative operator in a WHERE clause. Value is NULL if the provider does not support ICommandText.
No
UNSIGNED_ATTRIBUTE
DBTYPE_BOOL
Indicates whether the data type is signed or not. Value is VARIANT_TRUE when the data type is signed; value is VARIANT_FALSE when the data type is not signed. Value is NULL if the signed or unsigned status is not applicable to the data type.
No
FIXED_PREC_SCALE
DBTYPE_BOOL
VARIANT_TRUE if precision and scale are fixed for the data type; VARIANT_FALSE if there is not a fixed precision and scale for the data type.
No
AUTO_UNIQUE_VALUE
DBTYPE_BOOL
VARIANT_TRUE if values of the data type can automatically increment; otherwise, VARIANT_FALSE.
No
GUID
DBTYPE_GUID
The global unique identifier (GUID) for the data type.
No
TYPELIB
DBTYPE_WSTR
The type library for the data type.
No
IS_LONG
DBTYPE_BOOL
VARIANT_TRUE if this type is a BLOB that contains very long data; otherwise, VARIANT_FALSE.
No
BEST_MATCH
DBTYPE_BOOL
VARIANT_TRUE if this data type is the best match between the OLE DB data type indicated by the value in the DATA_TYPE column and all types in the data source. VARIANT_FALSE if this data type is not the best match.
No
IS_FIXEDLENGTH
DBTYPE_BOOL
VARIANT_TRUE if all data of this type has the same length; otherwise, VARIANT_FALSE.
No
Note: For more information about restrictions, see How to Restrict the Rows That Are Returned.