SAS IOM Data Provider |
Properties are characteristics of an OLE DB component. For example, a data source, a session, and a rowset all have properties.
OLE DB consumer programs set properties in order to ask the component to act in a certain way. For instance, a consumer can set a property to indicate that a rowset should support bookmarks.
Consumer programs get properties to find out what a component can do. For instance, a consumer can get the value of a property that tells whether a data source is read-only, or if it can be updated.
Every property has a description, a value, and a type. A property can be read-only or read/write. Each property belongs to a property set and a property group. A property set is a tightly knit collection of properties that deal with one OLE DB component (for example, rowsets) or with one kind of functionality (for example, initializing the data source component). Every property also belongs to a property group, which is a more loosely knit collection of properties, in order to deal with a certain component or kind of functionality. A property group contains multiple property sets.
The following section describes property sets and groups and how to get information about properties and their values, and how to set their values. It discusses which property groups and sets the SAS providers support and which individual properties they support.
The SAS providers place one or more property sets in each property group. Some property sets are standard (listed in the OLE DB documentation) and other property sets are custom (specific to the SAS providers). Not all property sets are supported across all three providers.
The following is a list of the major property groups and their associated SAS providers
Property Group | Description | Supported by Local Provider | Supported by IOM Provider | Supported by SHARE Provider |
Column | Properties related to columns. | X | X | X |
Data Source | Properties related to data sources. | |||
Data Source Information | Properties that describe data sources. These properties are read-only and give unchanging information about the provider and data source. | X | X | X |
Initialization | Properties for initializing the data source. | X | X | X |
Rowset | Properties related to rowsets. | X | X | X |
Session | Properties related to sessions. | X | X | X |
A SAS provider that supports a certain property group might not necessarily support all of the properties that belong to that group. To find out which group a property belongs to, call IDBProperties::GetPropertyInfo(). For more information on IDBProperties::GetPropertyInfo(), See the OLE DB documentation. To identify a property, use its GUID and its property ID. The GUID tells to which property set a property belongs. All properties in a single property set have the same GUID. The following is a list of the property sets that the SAS providers support. A SAS provider that supports a property set might not support all properties in that property set.
Property Set (GUIDs for each property set are given in this column) | Belongs to Property Group | Description | Standard or Custom | Supported by Local Provider | Supported by IOM Provider | Supported by SHARE Provider |
DBPROPSET_COLUMN | Column | Properties for creating columns. | Standard | X | X | X |
DBPROPSET_DATASOURCE | Data Source | Associated with data sources. | Standard | |||
DBPROPSET_DATASOURCEINFO | Data Source Info | Static information about data sources. | Standard | X | X | X |
DBPROPSET_ SAS_DATASOURCEINFO | Data Source Info | Static information about data sources that are specific to SAS providers. | Custom | X | ||
DBPROPSET_DBINIT | Initialization | Associated with initializing the data source. | Standard | X | X | X |
DBPROPSET_SAS_DBINIT | Initialization | SAS-specific aspects of initializing the data source. | Custom | X | X | X |
DBPROPSET_SAS_ROWSET | Rowset | SAS-specific aspects of rowsets. | Custom | X | X | X |
DBPROPSET_ROWSET | Rowset | Associated with rowsets. | Standard | X | X | X |
DBPROPSET_SESSION | Session | Associated with sessions. | Standard | X | X | X |
DBPROPSET_SAS_SESSION | Session | SAS-specific aspects of sessions. | Custom | X | X |
The following is a list of property-related methods. See the OLE DB documentation for full details on these methods.
OLE DB Component | Interface | Method | Purpose | Supported by Local Provider | Supported by SAS IOM Provider | Supported by SAS/SHARE Provider |
Data source | IDBProperties | GetPropertyInfo() | Get information about any property supported by a provider. | X | X | X |
Data source | IDBProperties | GetProperties() | Get properties' values that are presently set on data source, where such properties are also in Data Source, Data Source Information, or Initialization property groups. | X | X | X |
Data source | IDBProperties | SetProperties() | Set properties on data source components, where such properties belong to Data Source or Initialization property groups. | X | X | X |
Session | IOpenRowset | OpenRowset() | Set properties on a rowset created from all rows in a single base table. | X | X | X |
Session | ISessionProperties | GetProperties() | Get properties' values that are presently set in the session, where such properties are also in Session property group. | X | X | X |
Session | ISessionProperties | SetProperties() | Set properties in Session property group. | X | X | X |
Session | IDBSchemaRowset | GetRowset() | Ask for a schema rowset (it gives metadata) and set certain properties on the schema rowset that are returned. Properties must belong to Rowset property group. | X | X | X |
Session | ITableDefinition | CreateTable() | Create a new base table in the data source. Set certain Column-property-group properties for the new table. | X | X | X |
Command | ICommandProperties | GetProperties() | ICommandProperties tells the Command which Rowset-group properties must be supported by the rowsets that are returned by executing the Command. GetProperties() obtains the Rowset-group properties that are presently requested for the rowset. | X | X | X |
Command | ICommandProperties | SetProperties() | Set Rowset-group properties that the rowset(s) returned by executing the command must support. | X | X | X |
Rowset | IRowsetInfo | GetProperties() | Get values for all properties that the rowset supports. | X | X | X |
SAS specific properties in the list are named according to the following convention: DBPROP_SAS_xxx, where xxx varies from property to property. Standard, OLE DB properties, in contrast, do not have SAS in their names. SAS specific properties are also called custom properties.
SAS IOM Data Provider |