Поддержка типов параметров OLE DB, возвращающих табличные значения (свойства)
В данном разделе приводятся сведения о свойствах и наборах свойств OLE DB, связанных с объектами наборов строк для возвращающего табличное значение параметра.
Свойства
Далее приводится список свойств, к которым можно получить доступ, применив метод IRowsetInfo::GetProperties к объектам наборов строк для табличного параметра. Следует заметить, что все свойства объектов наборов строк для возвращающего табличное значение параметра неизменяемы. Следовательно, попытка изменить значения любого из этих свойств с помощью метода IOpenRowset::OpenRowset или ITableDefinitionWithConstraints::CreateTableWithConstraints вызовет ошибку, и никакие объекты созданы не будут.
Свойства, не реализованные в объекте наборов строк для возвращающего табличное значение параметра, здесь не перечислены. Полный набор свойств можно найти в документации по OLE DB в разделе, посвященном компонентам доступа к данным Windows.
Идентификатор свойства | Значение |
---|---|
DBPROP_ABORTPRESERVE | VARIANT_TRUE |
DBPROP_ACCESSORDER | DBPROPVAL_AO_RANDOM |
DBPROP_BLOCKINGSTORAGEOBJECTS | VARIANT_TRUE |
DBPROP_BOOKMARKS DBPROP_LITERALBOOKMARKS |
Ч/З Только для чтения Значение по умолчанию: VARIANT_FALSE Описание. Использование закладок на объектах наборов строк для возвращающего табличное значение параметра не допускается. |
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 Примечание. Объект наборов строк для возвращающего табличное значение параметра поддерживает интерфейсы IRowsetChange. Набор строк, созданный с DBPROP_IRowsetChange, равным VARIANT_TRUE, отражает режимы немедленного обновления. Однако, если столбцы типа BLOB привязаны как объекты ISequentialStream, потребитель должен сохранять их все время, пока существует объект набора строк возвращающего табличное значение параметра. |
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 |
Наборы свойств
Эти наборы свойств поддерживают параметры с табличным значением.
DBPROPSET_SQLSERVERCOLUMN
Это свойство используется потребителем в процессе создания объекта наборов строк для параметра с табличным значением с помощью вызова метода ITableDefinitionWithConstraints::CreateTableWithConstraints для каждого столбца через структуру DBCOLUMNDESC, если потребуется.
Идентификатор свойства | Значение свойства |
---|---|
SSPROP_COL_COMPUTED | Ч/З Чтение/запись Значение по умолчанию: VARIANT_FALSE Тип: VT_BOOL. Описание. Значение VARIANT_TRUE означает, что столбец является вычисляемым. VARIANT_FALSE означает, что столбец не является вычисляемым. |
DBPROPSET_SQLSERVERPARAMETER
Эти значения считываются потребителем в процессе получения информации о типе возвращающего табличное значение параметра при вызовах метода ISSCommandWithParameters::GetParameterProperties и устанавливаются потребителем в процессе задания отдельных свойств возвращающего табличное значение параметра с помощью метода ISSCommandWithParameters::SetParameterProperties.
В следующей таблице приводятся подробные описания этих свойств.
Идентификатор свойства | Значение свойства |
---|---|
SSPROP_PARAM_TYPE_TYPENAME | Ч/З Чтение/запись Значение по умолчанию: VT_EMPTY Тип: VT_BSTR Описание. Потребители используют это свойство для получения или задания имени типа для возвращающего табличное значение параметра. Это свойство также может использоваться с определяемыми пользователем типами данных CLR. Это свойство можно указать по желанию, чтобы передать имя табличного типа для возвращающего табличное значение параметра (если при вызове команды применяется синтаксис ODBC). Для нерегламентированных параметризованных запросов SQL это свойство является обязательным. |
SSPROP_PARAM_TYPE_SCHEMANAME | Ч/З Чтение/запись Значение по умолчанию: VT_EMPTY Тип: VT_BSTR Описание. Потребители используют это свойство для получения или задания имени схемы возвращающего табличное значение параметра. Это свойство также может использоваться с определяемыми пользователем типами данных CLR. |
SSPROP_PARAM_TYPE_CATALOGNAME | Ч/З Только для чтения Значение по умолчанию: VT_EMPTY Тип: VT_BSTR Описание. Потребители используют это свойство, чтобы получать имя каталога для возвращающего табличное значение параметра. Это свойство также может использоваться с определяемыми пользователем типами данных CLR. Задание этого свойства является ошибкой; все табличные типы, определяемые пользователем, должны находиться в той же базе данных, что и использующие их возвращающие табличное значение параметры. |
SSPROP_PARAM_TABLE_DEFAULT_COLUMNS | Ч/З Чтение/запись Значение по умолчанию: VT_EMPTY Type: VT_UI2 | VT_ARRAY Описание. Потребители используют это свойство, чтобы указать, какие именно столбцы в наборе строк должны обрабатываться как значения по умолчанию. Значения для этих столбцов не передаются. При получении данных из потребительского объекта набора строк поставщик не требует привязки для этих столбцов. Каждый элемент массива должен быть порядковым номером столбца в объекте набора строк. Если переданы недопустимые порядковые номера, это приведет к ошибке времени выполнения. |
SSPROP_PARAM_TABLE_COLUMN_ORDER | Ч/З Чтение/запись Значение по умолчанию: VT_EMPTY Type: VT_UI2 | VT_ARRAY Описание. Это свойство используется потребителем, чтобы указать серверу, каким образом упорядочиваются данные столбцов при сортировке. Поставщик не проводит никакой проверки и предполагает, что потребитель выполняет существующую спецификацию. Сервер использует это свойство для проведения оптимизации. Информация об упорядочивании каждого столбца представлена парой элементов массива. Первый элемент пары — номер столбца. Второй элемент пары равен 1, если сортировка проводится по возрастанию, и 2, если по убыванию. |
См. также:
Поддержка типов параметров OLE DB, возвращающих табличные значения
Использование возвращающих табличные значения параметров (OLE DB)