In OLE DB, a rowset
is a type of cursor over a table that consists of rows and columns.
The intersection of each row and column identifies a cell of data.
Every cell in a specific column is of the same data type. The OLE
DB concept of a table corresponds directly to the SAS data set.
A data set consists
of variables and observations. A variable defines a cell of data in
an observation. Variables are like columns, and observations are like
rows. In fact, these OLE DB terms and SAS terms can be used interchangeably.
The following table
compares the members of the DBCOLUMNINFO structure with the COLUMNS
schema rowset columns and describes how they all correspond to SAS
constructs:
DBCOLUMNINFO Structure Members Compared with COLUMNS Schema
Rowset Columns and the Corresponding SAS Constructs
|
COLUMNS Schema Rowset
Column
|
|
|
|
|
|
|
|
|
|
Reserved by Microsoft
for future use
|
|
|
|
|
|
|
|
|
|
CHARACTER_MAXIMUM_LENGTH
and CHARACTER_OCTET_LENGTH
|
|
Defines the maximum
length of this column/variable
|
|
|
|
When accessing Unicode
data sets, character variables are mapped to DBTYPE__WSTR.
When accessing data
sets that are not Unicode, character variables are mapped to DBTYPE_STR.
Numeric variables are
mapped to DBTYPE_R8 for data sets in all encodings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Indicates that a cell
in this column could be set to "missing"
|
Members of the DBCOLUMINFO
structure and columns in the COLUMNS schema rowset that are not represented
in this table either do not map to SAS constructs and are not supported,
or they do not map directly to SAS column metadata.