Руководство по работе с БД Firebird с использованием библиотеки ADO .Net 2.0

       

Схемы метаданных БД.


Неотъемлемой частью всех Ole Db провайдеров являются схемы метаданных. Они используются клиентами для получения описания базы данных: списка хранимых процедур, структур таблиц, зарегистрированных доменов, ограничений, первичных и внешних ключей и т.д. Для того, чтобы Ole Db провайдер смог работать с библиотекой ADO .Net, он должен поддерживать Ole Db схемы, так как компоненты библиотеки активно используют эту информацию.

По этой ссылке расположен список схем, которые поддерживает IBProvider

Запросить определенную схему можно по её названию. Для этого у объекта OleDbConnection есть метод GetSchema(). В Net 2 появился метод GetOleDbSchema(), который в качестве аргумента принимает одно из значений OleDbSchemaGuid. Оба этих метода ведут себя одинаково и возвращают абсолютно идентичные экземпляры DataTable с набором информации по схеме.

У каждой схемы есть набор колонок, по которым можно отфильтровать возвращаемый результат. Например, в схеме COLUMNS можно наложить ограничения по следующим полям:

Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Если мы хотим получить описание всех колонок для таблицы EMPLOYEE, мы должны использовать схему COLUMNS следующим образом:

DataTable schema_table = connection.GetSchema("COLUMNS", new string[] { null, null, "EMPLOYEE" });

Аналогично для метода GetOleDbSchema():

DataTable schema_table = connnection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, "EMPLOYEE" });



Содержание раздела