Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Получает сведения о схеме базы данных от поставщика.
Синтаксис
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)
Возвращаемое значение
Возвращает объект Recordset , содержащий сведения о схеме. Набор записей будет открыт как доступный только для чтения статический курсор. QueryType определяет, какие столбцы отображаются в наборе записей.
Параметры
QueryType
Любое значение SchemaEnum , представляющее тип выполняемого запроса схемы.
Критерии
Необязательно. Массив ограничений запросов для каждого параметра QueryType , как указано в SchemaEnum.
SchemaID
GUID для запроса схемы поставщика, не определенного спецификацией OLE DB. Этот параметр необходим, если параметр QueryType имеет значение adSchemaProviderSpecific; в противном случае он не используется.
Замечания
Метод OpenSchema возвращает самообисательные сведения об источнике данных, такие как таблицы в источнике данных, столбцы в таблицах и поддерживаемые типы данных.
Аргумент QueryType — это GUID, указывающий возвращаемые столбцы (схемы). Спецификация OLE DB содержит полный список схем.
Аргумент "Критерии" ограничивает результаты запроса схемы. Критерии указывают массив значений, которые должны возникать в соответствующем подмножестве столбцов, называемых столбцами ограничений, в результирующем наборе записей.
Константный adSchemaProviderSpecific используется для аргумента QueryType , если поставщик определяет собственные нестандартные запросы схемы за пределами перечисленных ранее. При использовании этой константы аргумент SchemaID требуется для передачи GUID запроса схемы для выполнения. Если параметр QueryType имеет значение adSchemaProviderSpecific , но SchemaID не указан, ошибка приведет к ошибке.
Поставщики не требуют поддержки всех стандартных запросов схемы OLE DB. В частности, для спецификации OLE DB требуются только adSchemaTables, adSchemaColumns и adSchemaProviderTypes . Однако поставщику не требуется поддерживать ограничения условий , перечисленные ранее для этих запросов схемы.
Замечание
Использование службы удаленных данных Метод OpenSchema недоступен для объекта подключения на стороне клиента.
Замечание
В Visual Basic столбцы, имеющие четырехбайтовое целое число без знака (DBTYPE UI4) в наборе записей , возвращенном методом OpenSchema в объекте Connection , нельзя сравнить с другими переменными. Дополнительные сведения о типах данных OLE DB см. в разделе "Типы данных" в OLE DB (OLE DB) и приложении A. Типы данных в справочнике программиста Microsoft OLE DB.
Замечание
Пользователи Visual C/C++ При использовании клиентских курсоров извлечение схемы столбца ORDINAL_POSITION в ADO возвращает вариант типа VT_R8 в MDAC 2.7, MDAC 2.8 и компоненты доступа к данным Windows (Windows DAC) 6.0, а тип, используемый в MDAC 2.6.6, был VT_I4. Программы, написанные для MDAC 2.6, которые ищут только вариант, возвращаемый типом VT_I4, получат ноль для каждого порядкового номера, если выполняется в MDAC 2.7, MDAC 2.8 и Windows DAC 6.0 без изменений. Это изменение было сделано из-за того, что тип данных, возвращаемого OLE DB, DBTYPE_UI4, и в подписанном VT_I4 типе недостаточно места, чтобы содержать все возможные значения без возможного усечения и таким образом причиняя потерю данных.
Применимо к
См. также
Пример метода OpenSchema (VB)
Пример метода OpenSchema (VC++)
Метод Open (подключение ADO)
Open Method (ADO Record)
Метод Open (ADO Recordset)
Open Method (ADO Stream)
Приложение A: Поставщики