OLE DB Table-Valued Parameter Type Support (Properties)

This topic provides information about OLE DB properties and property sets that are associated with table-valued parameter rowset objects.

Properties

The following is the list of properties exposed through the IRowsetInfo::GetPropeties method on table-valued parameter rowset objects. Note that all table-valued parameter rowset properties are read-only. Therefore, attempting to set any of the properties through IOpenRowset::OpenRowset or ITableDefinitionWithConstraints::CreateTableWithConstraints methods to their non-default values will result in an error, and no object will be created.

Properties not implemented in the table-valued parameter rowset object are not listed here. For a complete list of properties, see the OLE DB documentation in Windows Data Access Components.

Property ID

Value

DBPROP_ABORTPRESERVE

VARIANT_TRUE

DBPROP_ACCESSORDER

DBPROPVAL_AO_RANDOM

DBPROP_BLOCKINGSTORAGEOBJECTS

VARIANT_TRUE

DBPROP_BOOKMARKS

DBPROP_LITERALBOOKMARKS

R/W: Read-only

Default: VARIANT_FALSE

Description: Bookmarks are not allowed on table-valued parameter rowset objects.

DBPROP_BOOKMARKSKIPPED

VARIANT_FALSE

DBPROP_BOOKMARKTYPE

DBPROPVAL_BMK_NUMERIC

DBPROP_CANHOLDROWS

VARIANT_FALSE

DBPROP_CHANGEINSERTEDROWS

VARIANT_TRUE

DBPROP_COLUMNRESTRICT

VARIANT_FALSE

DBPROP_COMMANDTIMEOUT

0

DBPROP_COMMITPRESERVE

VARIANT_TRUE

DBPROP_DEFERRED

VARIANT_FALSE

DBPROP_DELAYSTORAGEOBJECTS

VARIANT_FALSE

DBPROP_IAccessor

DBPROP_IColumnsInfo

DBPROP_IConvertType

DBPROP_IRowset

DBPROP_IRowsetInfo,

DBPROP_IColumnsRowset

VARIANT_TRUE

DBPROP_IConnectionPointContainer

DBPROP_IMultipleResults

DBPROP_IRowsetUpdate

DBPROP_IRowsetIdentity

DBPROP_IRowsetLocate

DBPROP_IRowsetScroll

DBPROP_IRowsetResynch

VARIANT_FALSE

DBPROP_IRowsetChange

VARIANT_TRUE

Note: The table-valued parameter rowset object supports the IRowsetChange interfaces.

A rowset created by using DBPROP_IRowsetChange equal to VARIANT_TRUE exhibits immediate update mode behaviors.

However, if BLOB columns are bound as ISequentialStream objects, the consumer is expected to keep them for the lifetime of the table-valued parameter rowset object.

DBPROP_ISupportErrorInfo

VARIANT_TRUE

DBPROP_ISequentialStream

VARIANT_TRUE

DBPROP_IMMOBILEROWS

VARIANT_TRUE

DBPROP_LITERALIDENTITY

VARIANT_TRUE

DBPROP_LOCKMODE

DBPROPVAL_LM_NONE

DBPROP_MAXOPENROWS

0

DBPROP_MAXPENDINGROWS

0

DBPROP_MAXROWS

0

DBPROP_NOTIFICATIONPHASES

0

DBPROP_NOTIFYCOLUMNSET DBPROP_NOTIFYROWDELETE DBPROP_NOTIFYROWFIRSTCHANGE DBPROP_NOTIFYROWINSERT DBPROP_NOTIFYROWRESYNCH DBPROP_NOTIFYROWSETRELEASE DBPROP_NOTIFYROWSETFETCH-POSITIONCHANGE DBPROP_NOTIFYROWUNDOCHANGE DBPROP_NOTIFYROWUNDODELETE DBPROP_NOTIFYROWUNDOINSERT DBPROP_NOTIFYROWUPDATE

0

DBPROP_OTHERINSERT DBPROP_OTHERUPDATEDELETE

VARIANT_FALSE

DBPROP_OWNINSERT

DBPROP_OWNUPDATEDELETE

VARIANT_TRUE

DBPROP_QUICKRESTART

VARIANT_TRUE

DBPROP_REENTRANTEVENTS

VARIANT_FALSE

DBPROP_REMOVEDELETED

VARIANT_TRUE

DBPROP_RETURNPENDINGINSERTS

VARIANT_TRUE

DBPROP_ROWRESTRICT

VARIANT_FALSE

DBPROP_ROWTHREADMODEL

DBPROPVAL_RT_FREETHREAD

DBPROP_SERVERCURSOR

VARIANT_FALSE

DBPROP_SERVERDATAONINSERT

VARIANT_FALSE

DBPROP_STRONGIDENTITY

VARIANT_TRUE

DBPROP_TRANSACTEDOBJECT

VARIANT_FALSE

DBPROP_UNIQUEROWS

VARIANT_FALSE

DBPROP_UPDATABILITY

DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_DELETE | DBPROPVAL_UP_INSERT

Property Sets

The following property sets support table-valued parameters.

DBPROPSET_SQLSERVERCOLUMN

This property is used by the consumer in the process of creating a table-valued parameter rowset object by using ITableDefinitionWithConstraints::CreateTableWithConstraints for each column through DBCOLUMNDESC structure, if required.

Property ID

Property Value

SSPROP_COL_COMPUTED

R/W: Read/Write

Default: VARIANT_FALSE

Type: VT_BOOL

Description: When set to VARIANT_TRUE, indicates that the column is a computed column. VARIANT_FALSE indicates that it is not a computed column.

DBPROPSET_SQLSERVERPARAMETER

These properties are read by the consumer while discovering the table-valued parameter type information in calls to ISSCommandWithParamters::GetParameterProperties and set by the consumer while setting specific properties about the table-valued parameter through ISSCommandWithParameters::SetParameterProperties.

The following table provides detailed descriptions of these properties.

Property ID

Property Value

SSPROP_PARAM_TYPE_TYPENAME

R/W: Read/Write

Default: VT_EMPTY

Type: VT_BSTR

Description: Consumers use this property to get or set the name of the table-valued parameter type.

This property can also be used with CLR user-defined types.

This property can optionally be specified to provide a table type name for a table-valued parameter (in case of ODBC call syntax command). This property is required for ad hoc parameterized SQL queries.

SSPROP_PARAM_TYPE_SCHEMANAME

R/W: Read/Write

Default: VT_EMPTY

Type: VT_BSTR

Description: Consumers use this property to get or set the schema name of the table-valued parameter type.

This property can also be used with CLR user-defined types.

SSPROP_PARAM_TYPE_CATALOGNAME

R/W: Read only

Default: VT_EMPTY

Type: VT_BSTR

Description: Consumers use this property to get the catalog name of the table-valued parameter type.

This property can also be used with CLR user-defined types. It is an error to set this property; user-defined table types must be in the same database as the table-valued parameters that use them.

SSPROP_PARAM_TABLE_DEFAULT_COLUMNS

R/W: Read/Write

Default: VT_EMPTY

Type: VT_UI2 | VT_ARRAY

Description: Consumers use this property to specify which set of columns in the rowset are to be treated as defaults. No values will be sent for those columns. While fetching data from the consumer rowset object, the provider does not require a binding for such columns.

Each element of the array should be an ordinal of a column in the rowset object. Invalid ordinals will result in errors at command execute time.

SSPROP_PARAM_TABLE_COLUMN_ORDER

R/W: Read/Write

Default: VT_EMPTY

Type: VT_UI2 | VT_ARRAY

Description: This property is used by the consumer to provide a hint to the server to indicate the sort ordering of column data. The provider does not perform any validation and assumes that the consumer is conforming to the specification that was provided. The server uses this property to perform optimizations.

Column order information for each column is represented by a pair of elements in the array. The first element in the pair is the number of the column. The second element in the pair will be 1 for ascending order or 2 for descending order.