GetSchema(String)

Метод предоставляет метаданные указанных объектов БД (коллекции данных), связанных с текущим соединением.

Синтаксис
public override DataTable GetSchema(string collectionName);

collectionName – имя коллекции данных (строковое значение из столбца 1 в таблице 11).

Возвращаемое значение

Объект DataTable типа System.Data.DataTable (структуру записей см. в таблице 10).

Исключения
ArgumentException Коллекция данных не поддерживается.
InvalidOperationException Соединение не открыто.
LinterSqlException Код завершения СУБД ЛИНТЕР не равен 0.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class GetSchemaSample
{
  static void Main()
  {
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    DbConnection con = factory.CreateConnection();
    con.ConnectionString = "User ID=SYSTEM;Password=MANAGER8;DataSource=LOCAL";
    try
    {
      // Соединение с БД
      con.Open();
      // Получение сведений о схеме базы данных
      DataTable schema = con.GetSchema("Restrictions");
      // Вывод полученных сведений на экран
      OutputDataTable(schema);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Ошибка: " + ex.Message);
    }
    finally
    {
      // Освобождение ресурсов
      con.Close();
    }
  }
  private static void OutputDataTable(DataTable dataTable)
  {
    Console.WriteLine(new String('-', 60));
    foreach (DataColumn column in dataTable.Columns)
    {
      Console.Write(column.ColumnName + " | ");
    }
    Console.WriteLine();
    Console.WriteLine(new String('-', 60));
    foreach (DataRow row in dataTable.Rows)
    {
      for (int i = 0; i <  dataTable.Columns.Count; i++)
      {
        if (row.IsNull(i))
        {
          Console.Write("< NULL > | ");
        }
        else
        {
          Console.Write(row[i] + " | ");
        }
      }
      Console.WriteLine();
    }
  }
}

Результат выполнения примера:

---------------------------------------------------------------------------
CollectionName     |RestrictionName  |RestrictionDefault|RestrictionNumber|
---------------------------------------------------------------------------
CharacterSets      |Id               |                  |0                |
CharacterSets      |Name             |                  |1                |
Columns            |Catalog          |                  |0                |
Columns            |Schema           |                  |1                |
Columns            |Table            |                  |2                |
Columns            |Column           |                  |3                |
Connections        |UserName         |                  |0                |
Devices            |Device           |                  |0                |
ForeignKeyColumns  |Catalog          |                  |0                |
ForeignKeyColumns  |Schema           |                  |1                |
ForeignKeyColumns  |Table            |                  |2                |
ForeignKeyColumns  |ForeignKey       |                  |3                |
ForeignKeyColumns  |ForeignKeyColumn |                  |4                |
ForeignKeys        |Catalog          |                  |0                |
ForeignKeys        |Schema           |                  |1                |
ForeignKeys        |Table            |                  |2                |
ForeignKeys        |ForeignKey       |                  |3                |
Groups             |Group            |                  |0                |
IndexColumns       |Catalog          |                  |0                |
IndexColumns       |Schema           |                  |1                |
IndexColumns       |Table            |                  |2                |
IndexColumns       |Index            |                  |3                |
IndexColumns       |Column           |                  |4                |
Indexes            |Catalog          |                  |0                |
Indexes            |Schema           |                  |1                |
Indexes            |Table            |                  |2                |
Indexes            |Index            |                  |3                |
Levels             |Level            |                  |0                |
ProcedureColumns   |Catalog          |                  |0                |
ProcedureColumns   |Schema           |                  |1                |
ProcedureColumns   |Procedure        |                  |2                |
ProcedureParameters|Catalog          |                  |0                |
ProcedureParameters|Schema           |                  |1                |
ProcedureParameters|Procedure        |                  |2                |
Procedures         |Catalog          |                  |0                |
Procedures         |Schema           |                  |1                |
Procedures         |Procedure        |                  |2                |
ReplicationServers |ReplicationServer|                  |0                |
Roles              |Role             |                  |0                |
Sequences          |Schema           |                  |0                |
Sequences          |Sequence         |                  |1                |
Stations           |Station          |                  |0                |
Synonyms           |Catalog          |                  |0                |
Synonyms           |Schema           |                  |1                |
Synonyms           |Synonym          |                  |2                |
Tables             |Catalog          |                  |0                |
Tables             |Schema           |                  |1                |
Tables             |Table            |                  |2                |
Tables             |Type             |                  |3                |
Triggers           |Catalog          |                  |0                |
Triggers           |Schema           |                  |1                |
Triggers           |Trigger          |                  |2                |
Users              |User             |                  |0                |
Views              |Catalog          |                  |0                |
Views              |Schema           |                  |1                |
Views              |View             |                  |2                |