Дата публикации: 17.10.2013
Обновление .NET провайдера для OLE DB. Реализована поддержка схем
Мы продолжаем разработку нашего .NET провайдера для OLE DB. В новой сборке (#1434) реализованы методы для получения метаданных базы данных:
- OleDbConnection.GetOleDbSchemaTable
- OleDbConnection.GetSchema
GetOleDbSchemaTable
Поддерживаемые схемы:
- SchemaGuids
- DbInfoKeywords
- DbInfoLiterals
- Все схемы OLE DB провайдера
Отличия от стандартного OLEDB.NET провайдера:
- Схема SchemaGuids описывает все схемы, включая SchemaGuids, DbInfoKeywords, DbInfoLiterals.
- Схема SchemaGuids поддерживает ограничения для колонки Schema.
GetSchema
Поддерживаемые схемы:
- MetaDataCollections
- Restrictions
- DataTypes
- ReservedWords
- DataSourceInformation
- CharacterSets
- Collations
- Tables
- Views
- Columns
- Procedures
- ProcedureParameters
- ProcedureColumns
- Indexes
Отличия от стандартного OLEDB.NET провайдера:
- Схема MetaDataCollections поддерживает ограничения для колонки CollectionName.
- Схема Restrictions поддерживает ограничения для колонок: CollectionName, RestrictionName.
- Более точное заполнение схемы DataSourceInformation.
- Более точное заполнение схемы Restrictions.
Особенности реализации
- Кэширование данных собственных схем (SchemaGuids, DbInfoKeywords, DbInfoLiterals, …).
- Согласование сведений из схем метаданных с описаниями колонок результирующих множеств и параметров команд (обеспечивается IBProvider-ом).
- Различные алгоритмы загрузки метаданных для InterBase и Firebird. В том числе — наш провайдер учитывает версию сервера и версию ODS базы данных (обеспечивается IBProvider-ом).
- Кэширование OLE DB схем метаданных осуществляется на уровне IBProvider-a (см. свойство «schema_cache»).
Другие изменения
- Добавлен класс OleDbSchemaGuid с перечислениями известных идентификаторов OLE DB схем.
- Добавлен класс OleDbSchemaRestriction с перечислениями индексов ограничений известных OLE DB схем.
- Добавлен класс OleDbLiteral.
- Добавлен класс OleDbMetaDataCollectionNames.
- Увеличено количество тестов и отладочных конструкций, гарантирующих корректную работу компонент.
Новые примеры.
Если вас интересует работа с хранимыми процедурами, сгруппированными в PACKAGE, посмотрите новый пример для нашего .NET провайдера:
Дата публикации: 17.10.2013. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.