Дата публикации: 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 обязательна.