Поддержка типов параметров 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, если по убыванию. |