Поделиться через


Поддержка типов параметров OLE DB, возвращающих табличные значения (свойства)

В данном разделе приводятся сведения о свойствах и наборах свойств OLE DB, связанных с параметрами табличных значений — объектами наборов строк.

Свойства

Далее приводится список свойств, к которым можно получить доступ, применив метод IRowsetInfo::GetPropeties к параметрам с табличными значениями — объектам наборов строк . Следует заметить, что все свойства параметров с табличными значениями — объектов наборов строк неизменяемы. Следовательно, попытка изменить значения любого из этих свойств с помощью методов 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.

Cвойство

Значение свойства

SSPROP_COL_COMPUTED

Чтение-запись: Чтение/Запись

По умолчанию: VARIANT_FALSE

Тип: VT_BOOL.

Описание: Значение VARIANT_TRUE означает, что столбец является вычисляемым. VARIANT_FALSE означает, что столбец не является вычисляемым.

DBPROPSET_SQLSERVERPARAMETER

Эти значения считываются потребителем в процессе получения информации о типе параметра с табличным значением при вызовах метода ISSCommandWithParamters::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

Тип: VT_UI2 | VT_ARRAY

Описание: Потребители используют это свойство, чтобы указать, какие именно столбцы в наборе строк должны обрабатываться как значения по умолчанию. Значения для этих столбцов не передаются. При получении данных из потребительского объекта набора строк поставщик не требует привязки для этих столбцов.

Каждый элемент массива должен быть порядковым номером столбца в объекте набора строк. Если переданы недопустимые порядковые номера, это приведет к ошибке времени выполнения.

SSPROP_PARAM_TABLE_COLUMN_ORDER

Чтение-запись: Чтение/Запись

По умолчанию: VT_EMPTY

Тип: VT_UI2 | VT_ARRAY

Описание: Это свойство используется потребителем, чтобы подсказать серверу, каким образом упорядочиваются данные столбцов при сортировке. Поставщик не проводит никакой проверки и предполагает, что потребитель выполняет существующую спецификацию. Сервер использует это свойство для проведения оптимизации.

Информация об упорядочивании каждого столбца представлена парой элементов массива. Первый элемент пары — номер столбца. Второй элемент пары равен 1, если сортировка проводится по возрастанию, и 2, если по убыванию.